您可以通过以下命令通过命令行跳过执行测试:
mvn install -DskipTests
您也可以跳过执行特定单元测试,如下所示:
mvn -Dtest=\!com.example.ExampleTest#testName install
我知道您也可以使用maven.test.skip
属性跳过编译测试
mvn install -Dmaven.test.skip=true
有没有办法从命令行跳过编译特定单元测试?换句话说,我不希望特定测试包含在目标文件夹中(当然,不删除测试代码)。
答案 0 :(得分:1)
要从Maven编译中排除测试类,您可以在testExclude
声明中添加maven-compiler-plugin
。
例如:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<!-- use testExcludes to exclude a class from the src/test tree -->
<testExcludes>
<testExclude>/path/to/your/class</testExclude>
</testExcludes>
</configuration>
</plugin>
更新基于此:
Kote>
我想要排除单个/多个单元测试,而不是全班
glytching>
您希望该类由Surefire编译和运行,但您希望编译的表单排除该类中的单个测试(即方法)?
Kote>
是
你可以......
-DskipTests
执行任何测试。 -Dtest=\!com.example.ExampleTest
执行特定的测试用例。-Dtest=\!com.example.ExampleTest#testName
在特定测试用例中执行特定测试。 -Dmaven.test.skip
编译测试树中的任何类。maven-compile-plugin::testExcludes
编译测试树中的特定类。但是你不能告诉Maven不要在一个类中编译特定的方法。
听起来你需要conditional compilation solution。或许您应该在编译之前编辑该类。无论哪种方式,在Maven(或Java)中都没有内置支持。