Maven打包時過濾測試代碼或指定特定的測試類(maven-surefire-plugin)

一、過濾整個測試代碼,能夠直接在命令行上指定java

mvn clean install -Dmaven.test.skip=true

提示:以上爲舉例,具體的構建階段能夠自定義,其中maven.test.skip爲是否進行測試。apache

或者maven

mvn clean install -DskipTests

還能夠直接在pom.xml文件上指定,好比使用maven-surefire-plugin時的配置測試

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-surefire-plugin</artifactId>  
    <version>2.20</version>  
    <configuration>  
        <skipTests>true</skipTests>  
    </configuration>  
</plugin>  

提示:skipTests當爲true爲測試,反之同理。若是是使用插件,那麼要把依賴的jar包去除。ui

經過<properties>節點配置屬性spa

<properties>  
    <skipTests>true</skipTests>  
</properties>

或者插件

<properties>  
    <maven.test.skip>true</maven.test.skip>  
</properties>  

二、若是是指定特定的特定的測試類時,此時須要使用maven-surefire-plugin這個插件,由於默認測試使用的就是這個插件進行關聯。命令行

官網:http://maven.apache.org/components/surefire/maven-surefire-plugin/code

以下pom.xml,指定了測試類及排除某些類component

...
<
build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.20</version> <configuration> <!-- 包含 --> <includes> <include>**/*Tests.java</include> </includes> <!-- 排除 --> <excludes> <exclude>**/Abstract*.java</exclude> </excludes> </configuration> </plugin> </plugins> </build>
...

一樣,若是不想指定以上的寫法,能夠直接在命令行上指定測試類

mvn test -Dtest=[ClassName]

提示:經過命令行就不須要配置pom.xml

還能夠直接指定某個測試類的指定方法(注意:插件要2.8以上,因此還必須指定pom.xml的版本)

mvn test -Dtest=[ClassName]#[MethodName]
[MethodName]爲要運行的方法名,支持*通配符,範例:
mvn test -Dtest=MyClassTest#test1
mvn test -Dtest=MyClassTest#*test*
相關文章
相關標籤/搜索