Visual Studio のテスト ツールは、高い基準のコード エクセレンスを開発し、維持するのに役立ちます。
注
単体テストは、Visual Studio のすべてのエディションで利用できます。 Live Unit Testing や IntelliTest などの他のテスト ツールは、Visual Studio Enterprise エディションでのみ使用できます。 エディションの詳細については、「 Visual Studio IDE の比較」を参照してください。
テスト エクスプローラー
[テスト エクスプローラー] ウィンドウは、開発者が単体テストを作成、管理、実行するのに役立ちます。 Microsoft 単体テスト フレームワーク、または複数のサード パーティおよびオープン ソース フレームワークのいずれかを使用できます。
Visual Studio も拡張可能であり、NUnit や xUnit.net などのサードパーティの単体テスト アダプターの扉を開きます。 さらに、コードクローン機能は、一般的なバグ修正やリファクタリングの候補となる可能性のあるセマンティックに似たコードのブロックを特定することで、高品質のソフトウェアを提供することに手をつながっています。
ライブユニットテスト
Live Unit Testing では、バックグラウンドで単体テストが自動的に実行され、Visual Studio コード エディターにコード カバレッジとテスト結果がグラフィカルに表示されます。
注
ライブ 単体テストは Enterprise Edition でのみ使用でき、.NET コードでのみサポートされます。
IntelliTest
IntelliTest は、マネージド コードの単体テストとテスト データを自動的に生成します。 IntelliTest を使用すると、カバレッジが向上し、新規または既存のコードの単体テストを作成および保守する作業が大幅に削減されます。
注
IntelliTest は Enterprise Edition でのみ使用できます。 これは、.NET Framework を対象とする C# コードでサポートされています。 .NET Core と .NET Standard は現在サポートされていません。
コード カバレッジ
コード カバレッジ は、単体テストなどのコード化されたテストによって実際にテストされているプロジェクトのコードの割合を決定します。 バグから効果的に保護するには、テストでコードの大部分を演習または "カバー" する必要があります。
注
コード カバレッジは Enterprise エディションでのみ使用できます。
コード カバレッジ分析は、マネージド コードとアンマネージド (ネイティブ) コードの両方に適用できます。
コード カバレッジは、テスト エクスプローラーを使用してテスト メソッドを実行する場合のオプションです。 結果テーブルには、各アセンブリ、クラス、およびメソッドで実行されたコードの割合が表示されます。 さらに、テストされたコードがソース エディターに表示されます。
- コード カバレッジを使用した、テストされるコード割合の確認
- Visual Studio (Lab) を使用した単体テスト、コード カバレッジ、コード クローン分析
- コードの網羅性分析をカスタマイズする
- Microsoft.CodeCoverage.Console ツール
マイクロソフトフェイクス
Microsoft Fakes は、 アプリケーションの他の部分をスタブまたは shim に置き換えることで、テストしているコードを分離するのに役立ちます。
注
Microsoft Fakes は Enterprise Edition でのみ使用でき、.NET コードでのみサポートされています。
Playwright を使用したユーザー インターフェイス のテスト
Playwright は、一般的なブラウザー ベースの UI テストに推奨されます。
コード化された UI と Selenium を使用したユーザー インターフェイス のテスト
コード化された UI テストは、アプリケーションのユーザー インターフェイスの機能と動作を検証する完全に自動化されたテストを作成する方法を提供します。 XAML ベースの UWP アプリ、ブラウザー アプリ、SharePoint アプリなど、さまざまなテクノロジにわたって UI テストを自動化できます。
注
コード化された UI は非推奨の機能です。
最適なコード化された UI テストを選択する場合でも、 Playwright を使用した一般的なブラウザー ベースの UI テストを選択する場合でも、Visual Studio には必要なすべてのツールが用意されています。