Maven 单元测试
http://drizzlewalk.blog.51cto.com/2203401/1118536
一、maven-surefire-plugin簡(jiǎn)介
????? maven-surefire-plugin支持JUnit和TestNG。默認(rèn)情況下,maven-surefire-plugin的test目標(biāo)會(huì)自動(dòng)執(zhí)行測(cè)試源碼路徑下所有以Test開頭、Test或TestCase結(jié)尾的的Java類。
二、跳過測(cè)試
????如果想跳過測(cè)試階段,可用:
1.??mvn?package?-DskipTests
????想臨時(shí)性跳過測(cè)試代碼的編譯,可用:
1.??mvn?package?-Dmaven.test.skip=true
??? ?maven.test.skip同時(shí)控制maven-compiler-plugin和maven-surefire-plugin兩個(gè)插件的行為,即跳過編譯,又跳過測(cè)試。
三、手動(dòng)指定測(cè)試用例
??? maven-surefire-plugin的test參數(shù)用來指定要運(yùn)行的測(cè)試用例:
1.??//指定測(cè)試類??
2.??mvn?test?-Dtest=RandomGeneratorTest??
3.??//以Random開頭,Test結(jié)尾的測(cè)試類??
4.??mvn?test?-Dtest=Random*Test??
5.??//用逗號(hào)分隔指定多個(gè)測(cè)試用例??
6.??mvn?test?-Dtest=ATest,BTest
???? test參數(shù)必須匹配至少一個(gè)測(cè)試類,否則會(huì)報(bào)錯(cuò)并導(dǎo)致構(gòu)建失敗。此時(shí)可使用:
1.??mvn?test?-Dtest?-DfailIfNoTests?=?false??
來指定即使沒有任何測(cè)試用例也不要報(bào)錯(cuò)。
四、包含與排除測(cè)試用例
1.??<plugin>??
2.??????<groupId>org.apahce.maven.plugins<groupId>??
3.??????<artifactId>maven-surefire-plugin</artifactId>??
4.??????<version>2.5</version>??
5.??????<configuration>??
6.??????<includes>??
7.??????????<include>**?/?*Tests.java</include>??
8.??????</includes>??
9.??????</configuration>????
10.?</plugin>
?????使用** / * Test.java?來匹配所有以Tests結(jié)尾的Java類。兩個(gè)星號(hào)**用來匹配任意路徑,一個(gè)星號(hào)*用來獲取除路徑風(fēng)格符外的0個(gè)或多個(gè)字符。還可使用excludes來排除一些測(cè)試類。
五、測(cè)試報(bào)告
1.基本的測(cè)試報(bào)告
?????默認(rèn)情況下,maven-surefire-plugin會(huì)在項(xiàng)目的target/surefire-reports下生成兩種格式的錯(cuò)誤報(bào)告:
·??????????簡(jiǎn)單文本格式?
·?????????與JUnit兼容的XML格式
2.測(cè)試覆蓋率報(bào)告
??? Cobertura是一個(gè)用來測(cè)試覆蓋率統(tǒng)計(jì)工具。Maven通過cobertura-maven-plugin插件與之集成,命令
1.??mvn?cobertura:cobertura
六、運(yùn)行TestNG測(cè)試
??? TestNG支持使用xml來配置要運(yùn)行的測(cè)試用例。可用:
1.??<configuration>??
2.??????<suiteXmlFiles>??
3.??????<suiteXmlFile>testing.xml</suiteXmlFile>??
4.??????</suiteXmlFiles>??
5.??</configuration>
?? TestNG還支持測(cè)試組?
1.??<configuration>??
2.??????<groups>util,medium</groups>??
3.??</configuration>
七、重用測(cè)試代碼
????通過配置maven-jar-plugin將測(cè)試類打包
1.??<plugin>??
2.??????<groupId>org.apahce.maven.plugins<groupId>??
3.??????<artifactId>maven-jar-plugin</artifactId>??
4.??????<version>2.2</version>??
5.??????<executions>??
6.??????????<execution>??
7.??????????<goals>??
8.??????????<goal>test-jar</goal>??
9.??????????</goals>??
10.?????</execution>??
11.?????</executions>??
12.?</plugin>
????打包后可以聲明依賴:
1.??<groupId></groupId>??
2.??<artifactId></artifactId>??
3.??<version></version>??
4.??<type>test-jar</type>??
5.??<scope>test</scope>?
總結(jié)
以上是生活随笔為你收集整理的Maven 单元测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql中case when then
- 下一篇: iBatis resultMap出错 T