2011-07-22 53 views
10

當編寫C#時,Visual Studio C#Express版本是一個合適的IDE - 而NUnit是編寫單元測試的適當框架。然而,這種配對不足以建立這些測試的代碼覆蓋率。什麼是C#代碼覆蓋最有效的(免費提供的)工具?

我意識到,專業版和旗艦版與MSTest的集成,並提供完全集成的代碼覆蓋......但是這限制範圍的驗證那些誰已經購買了相關的IDE - 這是不理想的。

我不擔心整合覆蓋分析到IDE ...這是一個辦法,但我會通過批處理生成的報告同樣高興......這可以被集成到持續集成。

我關心的覆蓋度量的質量 - 例如,我想分行級覆蓋率分析不僅僅是線路電平。

我想象的Visual Studio專業版/旗艦版是不是在一個單聲道的環境爲開發者的想法解決方案......誰能告訴我什麼在這樣的背景下慣常用來?

+1

考慮NCover? –

+0

你不支付對你至關重要嗎?否則你有更多的選擇,比如DotCover - http://www.jetbrains.com/dotcover/ – christofr

+0

爲什麼人們對這個問題進行投票? –

回答

7

NCrunch非常酷。它爲您提供了代碼左側的視覺指示器,讓您知道它是否被覆蓋,以及測試是否已通過。

http://www.ncrunch.net/

+0

NCrunch看起來不錯...非常感謝......但是 - 我沒有認爲它適合我現在想要的東西,因爲它只是在測試版中免費使用...無論採取什麼策略,我都希望它能在未來幾年「發揮作用......」 – aSteve

+0

還有一種工具叫做連續測試(http://continuoustests.com/),它提供了類似的功能 –

1

PartCover

或者SharpDevelop? SharpDevelop是一個備用IDE,它具有比Express版本更多的功能。

+0

非常感謝 - 我是SharpDevelop的負責人 - 但認爲它會明顯低於Visual Studio(Express)。我一定會試一試......但我注意到它並沒有超越PartCover作爲覆蓋工具... – aSteve

+0

我不明白「它不會讓我超越......」你的一部分信息。 SD是相當不錯的IDE,我知道有些人使用它開發商業應用程序,更好地集成了IDE中的單元測試/代碼覆蓋/版本控制。 –

+0

對不起,我不清楚。我對現在看到的SharpDevelop產品印象深刻。我正在考慮將它作爲獨立於代碼覆蓋率的Visual Studio的替代品。 「讓我超越」PartCover是因爲SD使用PartCover來提供其代碼覆蓋功能...並且根據SourceForge的說法,最新的PartCover版本是2008年9月發佈的2.2版本...所以我懷疑它會有很好的支持針對C#4.0中引入的特性以及Visual Studio 2010附帶的功能。我希望能夠找到比此更新且積極支持的內容。 – aSteve

5

OpenCover和PartCover是目前的兩個主要工具。

PartCover是最古老的,不再在SourceForge上積極維護。該實用程序的支持,因爲移動到的GitHub(PartCover on GitHub

OpenCover是較新的,也是在GitHub(OpenCover on GitHub)它具有64位和32位的支持,並克服一些PartCover具有(存儲器和結果遞送)的限制。

兩者都是由TypeMock支持(我認爲OpenCover支持正在增加很快看到Can Opencover be used with TypeMock Isolator?)兩個PartCover和OpenCover

報告可以使用ReportGenerator()

+0

非常感謝! OpenCover看起來好像是一種真正的可能性 - 尤其是因爲它似乎更有可能比PartCover有更廣泛的分支覆蓋支持。還要感謝指向ReportGenerator的指針......這非常有幫助。 – aSteve

0

提供我很驚訝沒有人提到這個,但Visual Studio Team Edition帶有一個代碼覆蓋工具。 (這是Team Tools套件的一部分)。此外,當您在VS Team Edition中運行單元測試時,它會自動執行代碼覆蓋範圍。 :)

所以,這在一定意義上免費的,如果你已經有了團隊版,當然,團隊版的費用多一點。所以你去了。

相關問題