コードの単体テストUnit test your code

単体テストを実行することにより、開発者およびテスト担当者は、C#、Visual Basic、C++ のプロジェクトでクラスのメソッドに論理エラーがないかどうかをすばやく確認できます。Unit tests give developers and testers a quick way to look for logic errors in the methods of classes in C#, Visual Basic, and C++ projects.

単体テスト ツールには次の要素が含まれます。The unit test tools include:

  • テスト エクスプローラー—単体テストを実行し、テスト エクスプローラーでその結果を確認します。Test Explorer—Run unit tests and see their results in Test Explorer. サードパーティ製のフレームワークを含めて、テスト エクスプローラーのアダプターがあるすべての単体テスト フレームワークを使用できます。You can use any unit test framework, including a third-party framework, that has an adapter for Test Explorer.

  • マネージド コード用の Microsoft 単体テスト フレームワーク—マネージド コード用の Microsoft 単体テスト フレームワークは、Visual Studio と共にインストールされ、.NET コードをテストするためのフレームワークを提供します。Microsoft unit test framework for managed code—The Microsoft unit test framework for managed code is installed with Visual Studio and provides a framework for testing .NET code.

  • C++ 用の Microsoft 単体テスト フレームワーク—C++ 用の Microsoft 単体テスト フレームワークは、C++ によるデスクトップ開発ワークロードの一部としてインストールされます。Microsoft unit test framework for C++—The Microsoft unit test framework for C++ is installed as part of the Desktop development with C++ workload. これにより、ネイティブ コードをテストするためのフレームワークが提供されます。It provides a framework for testing native code. Google Test、Boost.Test、CTest の各フレームワークも含まれており、サードパーティ製のアダプターを追加のテスト フレームワークで使用できます。Google Test, Boost.Test, and CTest frameworks are also included, and third-party adapters are available for additional test frameworks. 詳細については、C/C++ 用の単体テストの作成に関するページを参照してください。For more information, see Write unit tests for C/C++.

  • コード カバレッジ ツール— テスト エクスプローラーで、単体テストが 1 つのコマンドから実行する製品コードの量を確認できます。Code coverage tools—You can determine the amount of product code that your unit tests exercise from one command in Test Explorer.

  • Microsoft Fakes 分離フレームワーク— Microsoft Fakes 分離フレームワークによって、テスト対象コード内の依存関係を作成する実稼働コードおよびシステム コード向けの代替クラスおよび代替メソッドを作成できます。Microsoft Fakes isolation framework—The Microsoft Fakes isolation framework can create substitute classes and methods for production and system code that create dependencies in the code under test. 関数の Fake デリゲートを実装して、依存関係オブジェクトの動作と出力を制御します。By implementing the fake delegates for a function, you control the behavior and output of the dependency object.

また、IntelliTest を使用して .NET コードを確認し、テスト データと単体テストのスイートを生成することもできます。You can also use IntelliTest to explore your .NET code to generate test data and a suite of unit tests. コードにある各ステートメントについて、そのステートメントを実行するテスト入力が生成されます。For every statement in the code, a test input is generated that will execute that statement. コード内の各条件付き分岐について、ケース分析が実行されます。A case analysis is performed for every conditional branch in the code.

主なタスクKey tasks

単体テストを理解および作成するには、次の記事を参照してください。Use the following articles to help with understanding and creating unit tests:

タスクTasks 関連するトピックAssociated Topics
クイック スタートおよびチュートリアル: Visual Studio での単体テストについてコード例から学習します。Quickstarts and walkthroughs: Learn about unit testing in Visual Studio from code examples. - チュートリアル: マネージド コードの単体テストを作成し、実行する- Walkthrough: Create and run unit tests for managed code
- クイック スタート: テスト エクスプローラーによるテスト駆動開発- Quickstart: Test-driven development with Test Explorer
- 方法: C++ アプリに単体テストを追加する- How to: Add unit tests to C++ apps
テスト エクスプローラーによる単体テスト: テスト エクスプローラーによって、さらに生産性が高く効率的な単体テストを作成できることを学習します。Unit testing with Test Explorer: Learn how Test Explorer can help create more productive and efficient unit tests. - 単体テストの基本- Unit test basics
- 単体テスト プロジェクトを作成する- Create a unit test project
- テスト エクスプローラーを使用して単体テストを実行する- Run unit tests with Test Explorer
- サードパーティ製の単体テスト フレームワークをインストールする- Install third-party unit test frameworks
C++ コードの単体テストUnit test C++ code - C/C++ 用の単体テストの記述- Write unit tests for C/C++
単体テストの分離Isolating unit tests - Microsoft Fakes を使用したテストでコードを分離する- Isolate code under test with Microsoft Fakes
コード カバレッジを使用してテストされるプロジェクトのコードの割合を識別する: Visual Studio のテスト ツールのコード カバレッジ機能について説明します。Use code coverage to identify what proportion of your project's code is tested: Learn about the code coverage feature of Visual Studio testing tools. - コード カバレッジを使用した、テストされるコード割合の確認- Use code coverage to determine how much code is being tested
ロード テストを使用したストレスおよびパフォーマンスの分析の実行: アプリケーションのパフォーマンスとストレスの問題を分離する目的で役立つロード テストの作成方法を説明します。Perform stress and performance analysis by using load tests: Learn how to create load tests to help isolate performance and stress issues in your application. - クイック スタート: ロード テスト プロジェクトを作成する- Quickstart: Create a load test project
- ロード テスト (Azure Test Plans と TFS)- Load testing (Azure Test Plans and TFS)
品質ゲートの設定: コードがチェックインまたはマージされる前にテストが実行されるよう、品質ゲートを作成する方法について説明します。Set quality gates: Learn how to create quality gates to enforce that tests are run before code is checked in or merged. - チェックイン ポリシー (Azure Repos TFVC)- Check-in policies (Azure Repos TFVC)
テストのオプションを設定する: テスト結果の保存場所など、テスト オプションの構成方法について説明します。Set testing options: Learn how to configure test options, for example, where test results are stored. .runsettings ファイルを使用して単体テストを構成するConfigure unit tests by using a .runsettings file

API リファレンス ドキュメントAPI reference documentation

関連項目See also