大家是否了解诶maven如何打包跳过测试呢?如果不知道的小伙伴可以跟着小编一起学习新的知识哦,了解的可以跟着小编一起来复习巩固知识哦,接下来让我们一起来进行了解下吧。
Maven打包是如何跳过测试的呢?
正常的来说,不应该这样做的,因为在测试的时候,是可以避免很多麻烦来排除一些不必要的一些错误,前提是测试足够规范,这里主要指junit测试,如果junit测试有问题的话,将会直接影响到mvn install打包。
如何跳过测试,有两种办法:
打包时不将资源文件夹下的文件打入包中
pom.xml
Html代码如下:
<bulid> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.0.2</version> <configuration> <warSourceExcludes>src/main/resources/**<warSourceExcludes> </configuration> </plugin> </plugins> </bulid>
跳过测试代码:
1.pom.xml
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin>
2. 使用命令操作如下:
mvn test -Dmaven.test.failure.ignore=true
mvn install -Dmaven.test.skip=true
如果想要跳过测试阶段,可用使用如下操作:
mvn package -DskipTests
如果想临时性跳过测试代码的编译,可用使用如下操作:
mvn package -Dmaven.test.skip=true
maven.test.skip同时控制 maven-compiler-plugin 和 maven-surefire-plugin
两个插件的行为,一是跳过编译,二是跳过测试。
指定测试类:
mvn test -Dtest=RandomGeneratorTest
以Random开头,Test结尾的测试类。
mvn test -Dtest=Random*Test
用逗号分隔指定多个测试用例:
mvn test -Dtest=ATest,BTest
test参数必须匹配至少一个测试类,否则会报错并导致构建失败。在这个时候可以使用以下配置的方式来指定,即使没有任何测试用例也不要报错。
mvn test -Dtest -DfailIfNoTests = false
POM文件配置包含与排除测试用例,使用** / * Test.java来匹配所有以Tests结尾的Java类。两个星号**用来匹配任意路径,一个星号*用来获取除路径风格符外的0个或多个字符。还可使用excludes来排除一些测试类。
Html代码如下:
<plugin> <groupId>org.apahce.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <includes>**/*Tests.java</includes> </configuration> </plugin>
好了,今天的maven相关知识就讲到这里了,如果想要了解更多Java常见问答的相关知识,请继续关注本网站。