初めて Visual Studio のテスト ツールを検討する

Visual Studio のテスト ツールを使用することで、チームと共に高水準の優れたコードを開発し、維持できます。

Note

単体テストは、Visual Studio のすべてのエディションで使用できます。 その他のテスト ツール (Live Unit Testing や IntelliTest など) は Visual Studio Enterprise エディションでのみ使用できます。 エディションの詳細については、Visual Studio IDE の比較に関するページを参照してください。

テスト エクスプローラー

[テスト エクスプローラー] ウィンドウは、開発者が単体テストを作成、管理、実行する場合に役立ちます。 Microsoft 単体テスト フレームワークまたは複数のサードパーティ フレームワークやオープン ソース フレームワークの 1 つを使用できます。

Visual Studio Test Explorer 16.2

Visual Studio は拡張可能であり、NUnit や xUnit.net などのサード パーティの単体テスト アダプターにも対応します。 さらに、コード クローン機能では、一般的なバグの修正またはリファクタリングの対象になる可能性がある意味的に似たコードのブロックを特定できるようにして、高品質なソフトウェアを提供することもできます。

Third-party test integration

ライブ単体テスト

Live Unit Testing は、バックグラウンドで自動的に単体テストを実行し、Visual Studio のコード エディターにコード カバレッジとテスト結果をグラフィカルに表示します。

Note

ライブ単体テストは Enterprise Edition でのみ使用でき、.NET コードでのみサポートされています。

IntelliTest

IntelliTest は、マネージド コードの単体テストとテスト データを自動生成します。 IntelliTest によって、対象範囲が増え、新規または既存のコードの単体テストを作成および保守する手間を大幅に削減できます。

IntelliTest in action

Note

IntelliTest は Enterprise Edition でのみ使用できます。 これは、.NET Framework を対象とする C# コードに対してサポートされています。 .NET Core と .NET Standard は現在サポートされていません。

コード カバレッジ

コード カバレッジは、プロジェクトのコードの中で、単体テストなどのコード化されたテストによって実際にテストされる割合を判断します。 バグから効果的に保護するには、コードの大部分を "カバー" するようにテストを実行する必要があります。

Note

コード カバレッジは Enterprise Edition でのみ使用できます。

コード カバレッジ分析は、マネージド コードにもアンマネージド (ネイティブ) コードにも適用できます。

コード カバレッジは、テスト エクスプローラーを使用してテスト メソッドを実行する場合のオプションです。 結果テーブルには、各アセンブリ、クラス、およびメソッドで実行されたコードの割合が表示されます。 また、ソース エディターには、どのコードがテストされたかが表示されます。

Microsoft Fakes

Microsoft Fakes では、アプリケーションの別の部分をスタブまたは shim で置き換えることにより、テストするコードを分離できます。

Note

Microsoft Fakes は Enterprise Edition でのみ使用でき、.NET コードでのみサポートされています。

Playwright を使用したユーザー インターフェイスのテスト

Playwright は、汎用ブラウザーベースの UI テストの場合にお勧めします。

コード化された UI と Selenium によるユーザー インターフェイスのテスト

コード化された UI テストでは、アプリケーションのユーザー インターフェイスの機能と動作を検証するために完全に自動化されたテストを作成できます。 XAML ベースの UWP アプリ、ブラウザー アプリ、および SharePoint アプリなど、さまざまなテクノロジをカバーする UI テストを自動化できます。

Note

コード化された UI は非推奨の機能です。

最適に組み合わされたコード化された UI テストを選択する場合も、Playwright による汎用ブラウザー ベースの UI テストを選択する場合も、必要なすべてのツールが Visual Studio で提供されます。