2017-06-12 173 views
4

我目前正在嘗試爲C#中的代碼庫編寫單元測試庫。我想查看我的測試達到的百分比代碼覆蓋率。我使用VS2010,它沒有任何代碼分析工具。我已經下載了FxCop並將其包含在VS2010的外部工具中,但我不知道如何獲得代碼覆蓋率。我相信這將通過設定規則來完成,但我不確定。我研究過規則集以及如何創建自定義規則,但我不知道如何實現它或使用哪些規則集庫。使用FxCop獲取百分比代碼覆蓋率

我對FxCop和外部分析工具一般都是全新的,所以一步一步或任何你可以給的方向都會很棒!

回答

0

據我所知,FxCop,任何版本,甚至是最新的CodeAnalysis 2017,都不會導入代碼覆蓋率數據。您可以嘗試工具NDepend。它可以從VisualStudio覆蓋,NCover和dotCover中獲得import code coverage data。然後,你可以在許多方式利用這種代碼覆蓋率數據:

  • 編寫檢查在一個具有某種屬性(如命名FullCoveredAttribute屬性),所有的類都是100%覆蓋
  • 寫規則規則檢查基線100%覆蓋的所有類仍然100%覆蓋(NDepend具有baseline的概念來檢查進化)
  • 編寫規則以將代碼覆蓋率與其他各種代碼度量值進行比較,如Cyclomatic Complexity,它是建議複雜的類和方法獲得100%覆蓋
  • Visual使用基於彩色樹形圖的metric view代碼覆蓋率數據。在下面的截圖中,小矩形是方法。的面積正比於的代碼#lines和顏色取決於%的代碼覆蓋(綠色= 100%黃色= 80%紅色= 0%)

NDepend metric treemap colored code coverage

0

代碼覆蓋意味着運行儀表代碼和收集有關哪些代碼路徑正在執行的統計信息。 FxCop是一個靜態分析工具。你有一個XY problem的實例。

+0

我知道我誤導了我的問題和我嘗試採取的解決方案的路徑。與其告訴我我在問自己的問題是多麼的錯誤,要麼說我需要嘗試一種不同的工具,要麼指導我朝着正確的方向發展,因爲你清楚地理解了我期待的內容做。請儘量留下評論意見,而不是答案。 – Trisarahtops