我想创建一个库,我的项目中的其他模块可以依赖该库,但仅用于测试。我已经广泛阅读了Gradle文档,却找不到如何做。这是我的项目结构:
gradle-example:
app:
src/main/kotlin ...
src/test/kotlin <- this is supposed to use 'com.example.SomeTestUtil'
testlib:
src/test/kotlin/com.example.SomeTestUtil
settings.gradle.kts:
rootProject.name = "gradle-example"
include("app")
include("testlib")
在应用模块中,我尝试添加
dependencies {
testImplementation(project(:testlib"))
}
但是我尝试SomeTestUtil
在app
模块测试类中导入时遇到编译错误。
在允许在测试代码中使用测试源的同一项目中,声明对模块的依赖关系的正确方法是什么?
为了澄清,我们想创建一个库,该库只能由src/test
和下的其他模块使用src/main
。
显然,这可以通过使用https://docs.gradle.org/current/userguide/java_testing.html#sec:java_test_fixtures来完成
他们可以看到主要的源集类
测试源可以看到测试夹具类
因此,对问题示例的更改是:
src/test
为src/testFixtures
testImplementation(testFixtures(project(":testlib")))
java-test-fixtures
插件到build.gradle.kts
的testlib
模块本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句