日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用maven运行单元測试总结

發(fā)布時(shí)間:2025/6/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用maven运行单元測试总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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)行階段
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.5</version><configuration><skipTests>true</skipTests></configuration></plugin>
  • skip配置。跳過(guò)測(cè)試運(yùn)行階段
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.5</version><configuration><skip>true</skip></configuration></plugin>

mvn命令行中增加參數(shù)

  • skipTests
mvn clean package -DskipTests=true
  • 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插件具體解釋)
mvn clean package -Dmaven.test.skip=true

說(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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。