如何通过命令行选项使用Maven Surefire排除标签?

时间:2018-10-02 10:07:07

标签: java maven-surefire-plugin junit5

我正在尝试使用通过命令行传递的Java系统道具从测试执行中排除标记,但是它不起作用。

lib_AnyCPU

public class A { @Test @Tag("NotThreadSafe") public void test(){ System.out.println("NotThreadSafe"); } @Test public void test2(){ System.out.println("It's ok"); } }

输出:

$: mvn clean test -Dtest="**/selftest/**" -DexcludeTags="NotThreadSafe"

但是-Dgroups属性可以正常工作:

NotThreadSafe It's ok

输出:

$: mvn clean test -Dtest="**/cdp/autotests/selftest/**" -Dgroups="NotThreadSafe"

1 个答案:

答案 0 :(得分:2)

如此处所述: https://github.com/junit-team/junit5/issues/1612#issuecomment-426217199

我们需要使用Tag expressions

mvn clean test -Dtest="**/selftest/**" -Dgroups=\!NotThreadSafe