maven打包如何跳过测试操作的?

2020-05-04 16:51:18 java常见问答 5253

大家是否了解诶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常见问答的相关知识,请继续关注本网站。