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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SonarQube中的Maven项目的单元和集成测试报告

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SonarQube中的Maven项目的单元和集成测试报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自SonarQube 4.2起。 測試報告不是在Maven構建期間由Sonar Maven插件生成的(請參閱SonarQube的博客文章 )。 因此,在Sonar Maven插件收集SonarQube服務器的信息之前,必須由另一個插件生成測試報告。 在這里,Jacoco Maven插件可以提供幫助。 它有可能生成SonarQube可以理解的測試報告。 Jacoco Maven插件更進一步,它有可能生成用于集成測試的測試報告。

在以下各節中,提出了滿足以下條件的解決方案:

  • Maven被用作構建工具。
  • 該項目可以是多模塊項目。
  • 單元測試和集成測試是每個模塊的一部分。 這里,集成測試是測試模塊中類之間的集成的測試。
  • 測試報告在單元測試報告和集成測試報告中是分開的。

下一部分的路線圖是,首先顯示了Maven項目結構,用于單元測試和集成測試的分離。 然后顯示了Maven項目配置,其中包含單獨的單元測試運行和集成測試運行。 之后,我們來看看Maven項目配置,以生成在單元測試和集成測試中分開的測試報告。 最后,SonarQube的儀表板中顯示了SonarQube的配置,用于測試報告的可視化。

Maven項目結構

首先,我們看一下單個模塊項目的默認Maven項目結構。

my-app ├── pom.xml ├── src │?? ├── main │?? │?? └── java │?? │?????? └── │?? └── test │?????? └── java │?????????? └──

目錄src / main / java包含生產源代碼,目錄src / test / java包含測試源代碼。 我們可以將單元測試和集成測試放到這個目錄中。 但是我們想將這兩種類型的測試放在單獨的目錄中。 因此,我們添加了一個名為src / it / java的新目錄。 然后將單元測試放在src / test / java目錄中,并將集成測試放在src / it / java目錄中,因此新的項目結構如下圖所示。

my-app ├── pom.xml ├── src │?? ├── it │?? │?? └── java │?? │?????? └── │?? ├── main │?? │?? └── java │?? │?????? └── │?? └── test │?????? └── java │?????????? └──

單元和集成測試運行

幸運的是,單元測試運行配置是Maven默認項目配置的一部分。 如果滿足以下條件,Maven將自動運行這些測試:

  • 測試位于目錄src / test / java和
  • 測試類名稱以Test開頭或以Test或TestCase結尾。

Maven在Maven的構建生命周期階段測試期間運行這些測試。

集成測試運行配置必須手動完成。 它存在可以提供幫助的Maven插件。 我們希望滿足以下條件:

  • 集成測試存儲在目錄src / it / java和
  • 集成測試類名稱要么以IT開頭,要么以IT或ITCase結尾 ,
  • 集成測試在Maven的構建生命周期階段進行集成測試。

首先,Maven必須知道它必須在其測試類路徑中包含目錄src / it / java 。 在這里,Build Helper Maven插件可以提供幫助。 它將目錄src / it / java添加到測試類路徑。

<plugin><groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>1.8</version><executions><execution><id>add-test-source</id><phase>process-test-sources</phase><goals><goal>add-test-source</goal></goals><configuration><sources>src/it/java</sources></configuration></execution><execution><id>add-test-resources</id><phase>generate-test-resources</phase><goals><goal>add-test-resource</goal></goals><configuration><resources><resource>src/it/resources</resource></resources></configuration></execution></executions></plugin>

上面的代碼段必須插入到項目根pom中的<project> <build> <plugins>部分 。

Maven的構建生命周期包含一個稱為集成測試的階段。 在此階段,我們要運行集成測試。 因此,我們將Maven故障安全插件綁定到階段集成測試:

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><version>2.13</version><configuration><encoding>${project.build.sourceEncoding}</encoding></configuration><executions><execution><id>failsafe-integration-tests</id><phase>integration-test</phase><goals><goal>integration-test</goal><goal>verify</goal></goals></execution></executions> </plugin>

同樣,以上代碼片段也必須插入到項目根pom中的<project> <build> <plugins>部分 。 然后,當Maven故障保護插件的類名稱以IT開頭或以IT或ITCase結尾時,它們會自動運行集成測試。

測試報告生成

我們想使用Jacoco Maven插件生成測試報告。 它應該生成兩個測試報告,一個用于單元測試,一個用于集成測試。 因此,該插件必須要準備兩個單獨的代理。 然后他們在測試運行期間生成報告。 Maven的構建生命周期包含自己的階段,可以在測試階段之前進行準備( 測試和集成測試 )。 測試階段的準備階段稱為過程測試類 , 集成測試階段的準備階段稱為集成前測試。 在這兩個階段中,我們綁定了Jacoco Maven插件,因此此插件的配置類似于以下代碼片段(同樣,它是<project> <build> <plugins>一節的一部分):

<plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>0.7.2.201409121644</version><executions><execution><configuration><destFile>${sonar.jacoco.reportPath}</configuration><id>pre-test</id><phase>process-test-classes</phase><goals><goal>prepare-agent</goal></goals></execution> <!-- we want to execute <span class="hiddenSpellError" pre="execute " data-mce-bogus="1">jacoco</span>:prepare-agent-integration in test phase,--> but before executing maven failsafe plugin --><execution><configuration><destFile>${sonar.jacoco.itReportPath}</destFile></configuration><id>pre-itest</id><phase>pre-integration-test</phase><goals><goal>prepare-agent-integration</goal></goals></execution></executions> </plugin>

配置元素destFile是應將測試報告存儲到的位置的路徑。 使用屬性$ { sonar.jacoco.reportPath}和$ { sonar是很重要的。 jacoco.itReportPath}。 SonarQube使用這些屬性來查找可視化的測試報告。

現在,我們可以運行目標mvn install,并且我們的項目已構建為包含單元和集成測試,并生成兩個測試報告。

SonarQube測試報告可視化

現在,我們想在SonarQube中可視化我們的測試報告。 因此,在成功構建之后,我們必須在我們的項目中運行Sonar Maven 3插件(命令mvn sonar:sonar )。

在SonarQube儀表板中打開項目時,我們僅看到每個模塊的單元測試的報告。 原因是必須在SonarQube中分別配置集成測試的報告可視化。 SonarQube文檔中很好地描述了這些配置步驟。

摘要

該博客描述了如何在Maven構建期間為單元測試和集成測試生成測試報告。 在GitHub上 ,我托管了一個示例項目,演示了所有配置步驟。 作為技術環境,我使用

  • Maven的3.2.5
  • Maven插件:
    • Maven Surefire插件
  • SonarQube 4.5.1
  • Java 7

鏈接

  • SonarQube的博客文章SonarQube中的單元測試執行
  • Jacoco Maven插件項目站點
  • Maven構建生命周期簡介
  • Maven故障安全插件項目站點
  • 構建助手Maven插件項目站點
  • 有關Java Projec集成測試的代碼覆蓋率的 SonarQube文檔
  • GitHub上的示例Maven項目
  • 翻譯自: https://www.javacodegeeks.com/2015/05/unit-and-integration-test-reports-for-maven-projects-in-sonarqube.html

    總結

    以上是生活随笔為你收集整理的SonarQube中的Maven项目的单元和集成测试报告的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久久久久人妻一区二区三区 | 中文字幕+乱码+中文乱码www | 国产欧美综合视频 | 国产在线色视频 | 五月婷婷久久综合 | 日韩欧美资源 | 色草在线 | 激情小视频在线观看 | 美女又爽又黄视频毛茸茸 | 精品欧美一区二区三区在线观看 | av色图片| 国产r级在线观看 | 欧美极品在线观看 | 国产中文字幕一区 | 小泽玛丽亚在线观看 | 欧美v日本 | 天堂а√在线最新版中文在线 | 五月99久久婷婷国产综合亚洲 | 欧美熟妇7777一区二区 | 高清不卡一区二区三区 | 高h在线观看 | 国产精品入口a级 | 草草在线视频 | 99啪啪| 男人的天堂中文字幕 | 91porny九色| 午夜精品欧美 | 在线日韩中文字幕 | 713电影免费播放国语 | 国产一级片子 | www.xxx.日本| 日本精品视频一区 | 欧美日韩国语 | 美女啪啪一区二区 | 亚洲色成人网站www永久四虎 | 午夜一区二区三区四区 | 一本色道久久亚洲综合精品蜜桃 | 亚洲三级网 | 美女18毛片| 极品另类 | 国产成人久久婷婷精品流白浆 | 色综合久久88 | 中文字幕免费一区二区 | 伊人资源| 亚洲三级在线观看 | 久久久久久久久久电影 | 在线黄av | 欧美成人免费大片 | brazzers欧美一区二区 | 国产看真人毛片爱做a片 | 少妇性生活视频 | 成年人看的黄色 | www.美色吧.com| 亚洲色图美腿丝袜 | 凹凸视频一区二区 | 老女人网站| 亚洲综合激情另类小说区 | 综合视频一区 | 国产视频久久久 | 亚洲精品久久久久久久久久 | 欧美特一级 | 在线观看国产一区二区 | 在线小视频 | 内射中出日韩无国产剧情 | 成人免费av| 亚洲成年人 | 高清国产一区二区三区 | 人妻熟女一区二区三区 | 久久一区二区三 | 日韩国产一区二区 | 日韩有码中文字幕在线观看 | 欧美三级电影在线观看 | 国产精品成人午夜视频 | 国产精品三级在线观看 | 日噜| 国产欧美视频在线观看 | www.日本黄 | 久久精品美女 | 国产青青草在线 | 四虎影视免费在线观看 | 妓院一钑片免看黄大片 | 国产第一页av | 91精品综合久久久久久 | 中文字幕永久在线视频 | www.sesehu| 深夜福利一区二区 | 亚洲品质自拍视频 | 天天操夜夜拍 | 91.xxx.高清在线 | 中文字幕在线欧美 | 亚洲乱码中文字幕久久孕妇黑人 | 手机看片一区二区三区 | 成人久久久久久 | 激情久久中文字幕 | 凹凸视频一区二区 | 久久一二| 国产四区| 中文字幕一区电影 | 中日韩一级片 |