Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gradle:仅在给定特定参数时运行测试_Java_Unit Testing_Testing_Gradle - Fatal编程技术网

Java Gradle:仅在给定特定参数时运行测试

Java Gradle:仅在给定特定参数时运行测试,java,unit-testing,testing,gradle,Java,Unit Testing,Testing,Gradle,我只想在进行PR构建时运行特定的单元测试。 在此构建过程中,我可以传递一个参数,例如“buildType”,以指定它是一个PR构建 如果buildType不是显式的PR build,则永远不应该运行测试 我怎样才能做到这样的行为 我是否创建了可以通过这种方式配置的单独任务。或者我还要创建另一个模块吗?实际排除将取决于您使用的测试库。例如,使用JUnit5可以使用 首先,从正常测试任务中排除标记有@Tag(“PR”)的测试。然后您将定义特定的任务,例如prTest,该任务还包括使用@Tag(“PR

我只想在进行PR构建时运行特定的单元测试。 在此构建过程中,我可以传递一个参数,例如“buildType”,以指定它是一个PR构建

如果buildType不是显式的PR build,则永远不应该运行测试

我怎样才能做到这样的行为


我是否创建了可以通过这种方式配置的单独任务。或者我还要创建另一个模块吗?

实际排除将取决于您使用的测试库。例如,使用
JUnit5
可以使用

首先,从正常测试任务中排除标记有
@Tag(“PR”)
的测试。然后您将定义特定的任务,例如
prTest
,该任务还包括使用
@Tag(“PR”)
标记的测试


美好的我假设
/gradlew prTest test
将在testYeah之后运行prTest任务。除非有这样的问题。
test {
    useJUnitPlatform {
        excludeTags 'PR'
    }
}

task prTest(type: Test) {
    useJUnitPlatform {
        includeTags 'PR'
    }
    shouldRunAfter test
}