web-dev-qa-db-ja.com

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

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

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

63
Álvaro García

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

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

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

65
Toni Wenzel

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

VS拡張ページ

https://github.com/axodox/AxoTools

40
Gordon Bean

Toniの答えは非常に便利ですが、初心者の方がカバレッジアセスメントをテストするためのクイックスタートを考えました(私もそうです)。

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

  1. インストール OpenCover NUGetコンポーネント NuGetインターフェイスを使用

  2. OpenCoverUI拡張 を取得します。これは、ツール->拡張機能と更新プログラムを使用してVisual Studioから直接インストールできます。

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

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

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

  1. ReportGenerator NUGetパッケージをインストールする

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

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

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

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

30
Alexei