【发布时间】:2019-10-17 09:18:59
【问题描述】:
我只想在进行 PR 构建时运行特定的单元测试。 在此构建期间,我可以传递一个参数,例如。 'buildType' 指定它是一个 PR 构建。
如果 buildType 不是明确的 PR 构建,则测试不应该运行。
我怎样才能实现这种行为?
我是否创建可以以某种方式配置的单独任务。还是我什至要创建另一个模块?
【问题讨论】:
标签: java unit-testing testing gradle
我只想在进行 PR 构建时运行特定的单元测试。 在此构建期间,我可以传递一个参数,例如。 'buildType' 指定它是一个 PR 构建。
如果 buildType 不是明确的 PR 构建,则测试不应该运行。
我怎样才能实现这种行为?
我是否创建可以以某种方式配置的单独任务。还是我什至要创建另一个模块?
【问题讨论】:
标签: java unit-testing testing gradle
实际排除取决于您使用的测试库。例如使用JUnit5,您可以使用tags 执行此操作。
您首先要从正常的测试任务中排除带有@Tag("PR") 标记的测试。然后,您将定义特定任务,例如 prTest,其中还包括带有 @Tag("PR") 标记的测试。
test {
useJUnitPlatform {
excludeTags 'PR'
}
}
task prTest(type: Test) {
useJUnitPlatform {
includeTags 'PR'
}
shouldRunAfter test
}
【讨论】:
./gradlew prTest test 将在测试后运行 prTest 任务