使用maven运行单元測试总结
maven本身沒(méi)有單元測(cè)試框架,可是maven的default生命周期的test階段綁定了maven-surefire-plugin插件,該插件能夠調(diào)用Junit3、Junit4、TestNG等Java流行測(cè)試框架完畢單元測(cè)試。
在pom中增加Junit依賴
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version> </dependency>約定優(yōu)于配置
maven的default生命周期的test階段與maven-surefire-plugin插件的test插件目標(biāo)內(nèi)置綁定。
默認(rèn)情況下。maven-surefire-plugin的test目標(biāo)會(huì)自己主動(dòng)運(yùn)行測(cè)試源代碼路徑(默認(rèn):src/test/java)下的全部符合一組命名規(guī)則的測(cè)試類。
該命名規(guī)則例如以下:
1. **/Test*.java 不論什么子文件夾下全部命名以Test開(kāi)頭的java類 2. **/*Test.java 不論什么子文件夾下全部命名以Test結(jié)尾的java類 3. **/*TestCase.java 不論什么子文件夾下全部命名以TestCase結(jié)尾的java類跳過(guò)測(cè)試
pom中配置
- skipTests配置,跳過(guò)測(cè)試運(yùn)行階段
- skip配置。跳過(guò)測(cè)試運(yùn)行階段
mvn命令行中增加參數(shù)
- skipTests
- maven.test.skip(須要注意的是,maven-compiler-plugin插件的testCompile插件目標(biāo)和maven-resources-plugin插件的testResources插件目標(biāo)也有這個(gè)參數(shù),假設(shè)使用-Dmaven.skip.test=true,則跳過(guò)了測(cè)試資源文件處理、測(cè)試代碼編譯和運(yùn)行三個(gè)階段。關(guān)于maven的生命周期和插件的具體描寫(xiě)敘述。請(qǐng)參考我的另兩篇博客:maven生命周期具體解釋和Maven插件具體解釋)
說(shuō)明:此處的“maven.test.skip”為maven-surefire-plugin插件的test插件目標(biāo)的參數(shù)的表達(dá)式,其相應(yīng)的插件目標(biāo)參數(shù)為上面pom中配置的skip參數(shù)。并非全部插件目標(biāo)參數(shù)都有表達(dá)式。也就是說(shuō)。一些插件目標(biāo)參數(shù)僅僅能在pom中配置。
關(guān)于插件目標(biāo)參數(shù)和其表達(dá)式的具體信息,能夠去maven官網(wǎng)的相應(yīng)插件章查詢,地址為:maven官網(wǎng)插件。maven-surefire-plugin中skip的描寫(xiě)敘述例如以下所看到的(請(qǐng)放大查看?):
跳過(guò)測(cè)試命令運(yùn)行情況請(qǐng)參考我的還有一篇博客:maven跳過(guò)單元測(cè)試的兩個(gè)參數(shù)差別
動(dòng)態(tài)指定要運(yùn)行的測(cè)試用例
使用test參數(shù)能夠在命令行指定要運(yùn)行的測(cè)試用例的類名。
1. mvn test -Dtest=demomavenTest 指定單個(gè)測(cè)試運(yùn)行類 2. mvn test -Dtest=demo*Test 指定全部以demo開(kāi)頭以Test結(jié)尾的測(cè)試類 3. mvn test -Dtest=demo*Test, heheTest 以逗號(hào)隔開(kāi)多個(gè)指定的測(cè)試類注意:當(dāng)test參數(shù)沒(méi)有值時(shí),默認(rèn)構(gòu)建會(huì)失敗。此時(shí)加上failIfNoTests=false,即使沒(méi)有測(cè)試也不報(bào)錯(cuò):
mvn test -Dtest -DfailIfNoTests=false上述命令不會(huì)運(yùn)行不論什么測(cè)試。構(gòu)建也能順利完畢。
這也是一種跳過(guò)全部測(cè)試完畢構(gòu)建的方法。
包括與排除測(cè)試用例
pom中能夠配置includes和excludes參數(shù)來(lái)包括和排除指定的測(cè)試類:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.5</version><configuration><includes><include>**/*Tests.java</include></includes><excludes><exclude>**/*ServiceTest.java</exclude><exclude>**/ServiceTest*.java</exclude></excludes></configuration></plugin>(本文是看了大神徐曉斌的maven3 in action一書(shū)的相關(guān)章節(jié)之后的讀書(shū)筆記和自己平時(shí)使用maven的一些經(jīng)驗(yàn),僅用于學(xué)習(xí)交流。)
總結(jié)
以上是生活随笔為你收集整理的使用maven运行单元測试总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 九度OJ—题目1032:ZOJ
- 下一篇: CentOS7和CentOS6怎样开启M