Visual Studioには単体テストのコードカバレッジがありますか?


82

Visual Studio 2015 Community Editionを使用していて、コードをテストするための単体テストを作成するオプションがあることは知っていますが、コードカバレッジをテストするオプションが表示されないため、VisualStudioにあるかどうかを知りたいです。このオプション、またはサードパーティのプラグインを使用する必要がある場合。

サードパーティのソリューションを使用する必要がある場合、それは良いオプションですか?

回答:


79

Visual Studio 2015Enterpriseにのみコードカバレッジが組み込まれています。詳細については、機能マトリックスを参照してください。

Visual Studio内のコードカバレッジチェックには、OpenCover.UI拡張機能を使用できます。MSTest、nUnit、およびxUnitをサポートします。

新しいバージョンはここからダウンロードできますリリースノート)。


新しい拡張バージョンは、VS Galleryvisualstudiogallery.msdn.microsoft.com/
Toni Wenzel

2
OpenCoverUIはNUnit3をサポートしていないようです
Lennart

1
opencover.UI(VSと統合されている)には、非常に厄介なレポート(結果ウィンドウ)があり、使用することは不可能です。opencoverに直接アクセスしてください:allenconway.net/2015/06/…–
Roman Pokrovskij

47

Visual Studio 2017を使用していて、この質問に遭遇した場合は、AxoCoverを検討してください。これは、OpenCoverを統合する無料のVS拡張機能ですが、VS2017をサポートしています(これも活発に開発されているようです。+ 1)。

VS拡張ページ

https://github.com/axodox/AxoTools


9
これは(現在)デスクトップバージョンの.NETのみをサポートしていることに注意してください。つまり、執筆時点では.NETCoreはサポートされていないようです。
ジェイ

6
2017年12月12日、まだ.NET Core / Xamarinのサポートなし
Tuan Tran

1
うん。.netコアはありません。インストールした直後に実現しました。:( 2018年8月
JzInqXc9Dg

2
2019年3月の時点で、AxoCoverはxUnit 2.2(すでに2年以上経過しています)までしかサポートしておらず、現在xUnit2.3または2.4をサポートする予定はありません。xUnitテストを実行したい場合は、気にしないでください。
SeanWerkema19年

2
残念ながら、2020年6月ですが、上記のコメントは依然として当てはまります。
ΕГИІИО

34

Toniの回答は非常に役立ちますが、初心者がカバレッジ評価をテストするためのクイックスタートだと思いました(私のように)。

すでに述べたように、Visual StudioProfessionalおよびCommunityEditionには、組み込みのテストカバレッジサポートがありません。ただし、非常に簡単に入手できます。Visual Studion 2015Professional内のNUnitテストで使用するための段階的な構成を記述します。

  1. NuGetインターフェイスを使用してOpenCoverNUGetコンポーネントをインストールします

  2. OpenCoverUI拡張機能を取得します。これは、[ツール]-> [拡張機能と更新]を使用してVisualStudioから直接インストールできます。

  3. [ツール]-> [オプション]-> [OpenCover.UIオプション]-> [全般]にアクセスして、適切な実行可能ファイルを使用するようにOpenCoverUIを構成します。

NUnitパス: `nunit-console.exeファイルを指している必要があります。これは、ここからダウンロードできるNUnit2.xxバージョン内でのみ見つけることができます

OpenCoverパス:これは、通常、インストールされているパッケージを指している必要があります<solution path>\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe

  1. ReportGeneratorNUGetパッケージをインストールします

  2. OpenCover Test ExplorerOpenCoverメニューからのアクセス。そこからテストを見つけてみてください。失敗した場合は、出力ウィンドウで詳細を確認してください。

  3. 詳細については、(OpenCoverメニュー内の)OpenCoverの結果を確認してください。ツリーベースのビューでコードカバレッジなどの詳細を出力します。カバーされているコードとカバーされていないコードを強調表示することもできます(左上の小さなアイコン)。

注:前述のように、OpenCoverUIはNUnitの最新のメジャーバージョン(3.xx)をサポートしていません。ただし、このバージョンに固有のものがテスト内で使用されていない場合は、NUnit 3.xxバージョンがインストールされていても、問題なく動作します。

これはクイックスタートをカバーしています。コメントですでに述べたように、より高度な構成と自動化については、この記事を確認してください。


10
拡張機能はVS2019コミュニティでは機能しません。なんて残念なこと
nicolascolman

@nicolascolmanはい、しかしファインコードカバレッジは機能しているようです。
アレクセイ

1

Visual Studio Community 2019で簡単なソリューションを探している人にとって、Fine Code Coverageはシンプルですが、うまく機能します。

正確なカバレッジについて正確な数値を示すことはできませんが、どの線が緑/赤の側溝で覆われているかはわかります。


これは良いヒントです。ただし、.NETCoreでのみ機能します。
アレクセイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.