2009-02-12 164 views
3

我正在尋找一種分析C#解決方案的增量代碼覆蓋率的工具(最好是免費的)。我的意思是我不想知道所有代碼或甚至命名空間的總代碼覆蓋範圍,但是隻有新的代碼行或自上次簽入後更改的代碼行。 (我們使用源代碼控制顛覆。)增量.NET代碼覆蓋率工具?

我想叫這個工具,我們的自動生成過程的一部分,並報告時,有人在新的代碼檢查與小於X%的代碼覆蓋率。

有沒有人知道一個工具來完成這個?

謝謝。

回答

3

NDepend擁有如下:

NDepend的從NCover™和Visual Studio Team System的™中收集代碼覆蓋率數據。從這個 數據,NDepend推斷方法,類型,名稱空間和程序集的一些指標: PercentageCoverage,NbLinesOfCodeCovered,NbLinesOfCodeNotCovered和BranchCoverage (僅來自NCover)。

這些指標可以與其他NDepend功能結合使用。例如,您可以從 知道自上次發佈以來添加或重構了哪些代碼,並且不完全覆蓋測試的 。您可以編寫一個CQL約束來連續檢查一組 類是否被100%覆蓋。你可以列出哪些複雜的方法需要更多的測試。

我似乎記得NDepend的能夠與數據進行比較,從早期的版本,所以它看起來像NDepend的組合和NCover威力做的伎倆。雖然沒有嘗試過。 )

0

根據.Net的版本,您可以免費使用NCover。但是,如果你使用的是.net的新版本,它並不便宜。你可能仍然需要編寫你自己的樣式表來解析NCover的結果,以明確你所要求的。

除此之外,我還沒有聽到或看到其他工具來做到這一點,除非你想自己編寫的。

NCover基本上使用.Net分析API,所以理論上你可以做同樣的事情。

+0

Partcover(http://sourceforge.net/projects/partcover /)是免費的,適用於最新的運行時版本並輸出與NCover相同的數據。 OP仍然需要挖掘這些數據以獲得低覆蓋率的「新代碼」。 – 2009-02-13 03:42:41

0

我用PartCover分析我的單元測試,效果良好。對於您要查找的數據,您可以使用控制檯工具並從報告xml中提取visitlen計數。