2016-01-27 65 views
2

我的團隊正在創建一個ASP.NET MVC應用程序。我們使用腳手架幫助我們創建實體。腳手架將創建模型,存儲庫,控制器和我們有的其他類。它還支持實體的基本測試套件。所有的腳手架代碼目前正在測試。我如何測試代碼覆蓋率?

我想要的是,如果某個類的代碼覆蓋率低於某個特定值,那麼該單元測試會失敗。例如,Controller和Repository需要覆蓋率儘可能接近100%。這些類也將進一步發展,我想要一個檢查來確保添加到它們的代碼正在被測試。

我使用Xunit和Moq分別進行測試和模擬。

如何實現代碼覆蓋率測試?

+0

ru使用構建/ CI服務器?例如teamcity? – wal

+0

我們通過Visual Studio Online來完成CI。 – RichieACC

+0

好的,你可以在TeamCity中做這種事情(參見http://stackoverflow.com/questions/10296753/how-can-i-fail-a-teamcity-build-if-dotcover-doesnt-report-a-足夠高的結果,如果感興趣)altho給你你在網上VS我不知道什麼是可能的 – wal

回答

0

我們最近在我們的TFS 2015服務器上實現了一個類似的用例。它更粗略一點,我們不測量我們測試的特定命名空間的覆蓋範圍,以確保覆蓋率不會降低整體。對我們來說,這可以確保如果開發人員添加任何代碼,則必須覆蓋其他代碼,否則整體指標會降低。

我們的ALM小組編寫了一個PowerShell腳本來從TFS中讀取覆蓋範圍編號,並比較當前構建的覆蓋範圍與以前的構建。如果它更低,則構建失敗。他們將腳本添加到測試後腳本路徑中以在構建期間運行它。