你真的會寫 單元測試嗎?TDD初體驗(3)
發表于:2019-11-18來源:cnblogs作者:李佳霖i點擊數:
標簽:
/limits /rule /rules /configuration executions execution idpre-test/id goals goalprepare-agent/goal /goals /execution execution idpost-test/id phasetest/phase goals goalreport/goal /goals /execution /
</limits>
</rule>
</rules>
</configuration>
<executions>
<execution>
<id>pre-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>post-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
這里值得注意的是<include>com/**/*</include>指的是class文件的位置。做完這些以后,我們就可以生成報表了。因為我們是用maven插件的方式進行配置的,所以如果我們使用idea進行開發的時候,就可以看到右側maven一欄中出現了jacoco插件
最常用的就是這兩個,一個是檢查配置是否正確,第二個是用來將exec文件,生成index.html用來進行觀察覆蓋率。
我們先執行maven中的test指令,這時,我們在target中就可以看到一個jacoco.exec文件。
有了這個jacoco.exec文件,就可以使用jacoco的report方法,來生成文件。
右鍵index.html文件,選擇Reveal in Finder(Mac),windows也是類似,打開文件磁盤的位置。
可以看到,由于這個項目之前沒有幾個單測,所以覆蓋率特別低。點開之后,就可以看到具體的代碼,非常的方便。
最后今天配置jacoco的時候,踩了2個坑:
1 用idea進行開發的同學。使用jacoco的時候,不要勾選這個按鈕,它會跳過你測試階段的代碼執行,進而不會生成jacoco.exec文件。
2 保證自己測試代碼沒有錯誤(尤其是項目中,由于代碼更新,
測試用例沒有更新,導致的測試不可用)
這里的現象是雖然可以生成jacoco.exec 文件,而且可以report成文檔,但是打開之后發現,代碼覆蓋率都是0。
最后:
希望大家都可以保持寫測試用例的好習慣,謝謝
原文轉自:https://www.cnblogs.com/nedulee/p/11863605.html