SonarQube4.4+Jenkins進行程式碼檢查例項之三-單元測試分析
阿新 • • 發佈:2019-01-25
本文來介紹如何利用SonarQube來分析單元測試。最新推薦在分析外掛是Jacoco。
當然要進行單元測試,首先單元測試得到了書寫,能夠本地執行得到結果。本示例採用Maven的典型結構。
1,配置Maven,在maven的conf目錄下開啟settings.xml,在<profile>下加入Sonar,如下
2,在Jenkins中配置,前面部分與例項二一樣,到了Maven的部分,root POM填寫pom.xml<!-- sonar --> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- FOR Embedded database H2--> <sonar.jdbc.url>jdbc:h2:tcp://localhost:9092/sonar</sonar.jdbc.url> <sonar.jdbc.driverClassName>org.h2.Driver</sonar.jdbc.driverClassName> <sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>sonar</sonar.jdbc.password> <!-- optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url>http://127.0.0.1:9000</sonar.host.url> </properties> </profile> <!-- end of sonar -->
在Goals and options中填寫 org.jacoco:jacoco-maven-plugin:prepare-agent clean install
SonarQube和Maven都內嵌支援了Jacoco,所以不必另外安裝Jacoco
3,在Jinkins中繼續配置Post Step,在Execute Windows batch command中 填入 mvn sonar:sonar
4,以上配置就大功告成了。
當代碼在SVN中提交後,仍然在1分鐘左右,就能啟動以上。
到SonarQube中檢視,發現在單元測試部分有如下圖示:
單元測試的成功情況和覆蓋率都有了,不僅如此還有
SonarQube會提醒哪些檔案的單元測試覆蓋率還不夠。通過以上,就能監控程式碼在一個可觀察的樣子,並能漸漸提高,減少技術債務,得到乾淨的程式碼。規避缺陷和異常!