Maven打包時過濾測試程式碼或指定特定的測試類(maven-surefire-plugin)
阿新 • • 發佈:2019-01-31
轉自:http://www.cnblogs.com/EasonJim/p/6844969.html
1、過濾整個測試程式碼,可以直接在命令列上指定
mvn clean install -Dmaven.test.skip=true
提示:以上為舉例,具體的構建階段可以自定義,其中maven.test.skip為是否進行測試。
或者
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包去除。
通過<properties>
<properties> <skipTests>true</skipTests> </properties>
或者
<properties> <maven.test.skip>true</maven.test.skip> </properties>
2、如果是指定特定的特定的測試類時,此時需要使用maven-surefire-plugin這個外掛,因為預設測試使用的就是這個外掛進行關聯。
如下pom.xml,指定了測試類及排除某些類
...
<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*