我正在尝试使用通过命令行传递的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"
答案 0 :(得分:2)
如此处所述: https://github.com/junit-team/junit5/issues/1612#issuecomment-426217199
我们需要使用Tag expressions
mvn clean test -Dtest="**/selftest/**" -Dgroups=\!NotThreadSafe