现在,这在 Gradle 中作为一等功能得到支持。带有或插件的模块也可以包含一个插件,该插件公开了要与帮助程序一起使用的帮助程序类和资源。这种方法对工件和分类器的好处是:java
java-library
java-test-fixtures
testFixtures
- 适当的依赖关系管理(实现/api)
- 与测试代码的良好分离(单独的源代码集)
- 无需过滤掉测试类即可仅公开实用程序
- 由 Gradle 维护
例
:modul:one
modul/one/build.gradle
plugins {
id "java-library" // or "java"
id "java-test-fixtures"
}
modul/one/src/testFixtures/java/com/example/Helper.java
package com.example;
public class Helper {}
:modul:other
modul/other/build.gradle
plugins {
id "java" // or "java-library"
}
dependencies {
testImplementation(testFixtures(project(":modul:one")))
}
modul/other/src/test/java/com/example/other/SomeTest.java
package com.example.other;
import com.example.Helper;
public class SomeTest {
@Test void f() {
new Helper(); // used from :modul:one's testFixtures
}
}
进一步阅读
有关详细信息,请参阅文档:
https://docs.gradle.org/current/userguide/java_testing.html#sec:java_test_fixtures
它是在5.6:
https://docs.gradle.org/5.6/release-notes.html#test-fixtures-for-java-projects 中添加的