對於jcoco的使用有兩種方式:
1、直接使用eclipse插件,缺點:不能生成報告,只能在eclipse上查看效果
2、使用maven插件
1、采用線上安裝的方式:
圖解步驟:
成功標志:
測試:(使用方式與run as一致)
結果分析:綠色是指本次測試所執行到的地方,紅色則是沒有執行到的地方
也可查看具體每個類每個方法的被覆蓋情況:
2、使用maven得到的效果與前邊一樣
步驟:在pom中加入jcoco插件並指定報告的生成路徑
<!-- jacoco plugin --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.6.4.201312101107</version> <executions> <execution> <!-- 在maven的initialize階段,將Jacoco的runtime agent作為VM的一個參數 傳給被測程序,用於監控JVM中的調用。 --> <id>default-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <destFile> ${project.build.directory}/coverage-reports/jacoco.exec </destFile> <propertyName>surefireArgLine</propertyName> </configuration> </execution> <!-- 在程序的verify階段,執行report測試的程序。 文件的輸入為perpare-agent階段中設置或者默認的jacoco.exec. 參數 includes和excludes可用來選定report中過濾的類。 --> <execution> <id>default-report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> <configuration> <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile> <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- 使用 maven-surefire-plugin來執行單元測試。 將surefireArgLine賦值給argLine參數,以保證在測試執行時Jacoco agent處於運行狀態。 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.16</version> <configuration> <argLine>${surefireArgLine}</argLine> </configuration> </plugin>
使用:run as -> maven test(maven會自動下載相應的plugin然后生成相應的報告)
打開后的效果與用eclipse插件的效果是一樣的~~
有研究的伙伴交流一下經驗哈,剛接觸還不大會用,THX