コードの単体テスト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—You can 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 Writing 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 topics to help with understanding and creating unit tests:

[タスク]Tasks 関連するトピックAssociated Topics
クイック スタートおよびチュートリアル: 次のトピックでは、Visual Studio での単体テストについてコード例から学習できます。Quick starts and walkthroughs: Use the following topics to learn unit testing in Visual Studio from code examples. - チュートリアル: マネージ コードに対する単体テストの作成と実行- Walkthrough: Creating and Running Unit Tests for Managed Code
- クイック スタート: テスト エクスプローラーによるテスト駆動開発- Quickstart: Test-driven development with Test Explorer
- 既存の C++ アプリケーションへの単体テストの追加- Adding unit tests to existing C++ applications
テスト エクスプローラーによる単体テスト: テスト エクスプローラーによって、さらに生産性が高く効率的な単体テストを作成できることを学習します。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
マネージ コードの単体テスト:Unit testing managed code: - マネージ コード用の Microsoft 単体テスト フレームワークを使用した .NET Framework 用単体テストの記述- Writing Unit Tests for the .NET Framework with the Microsoft Unit Test Framework for Managed Code
C++ コードの単体テストUnit testing C++ code - C++ 用の Microsoft 単体テスト フレームワークを使用した C++ 用単体テストの記述- Writing Unit tests for C/C++ with the Microsoft Unit Testing Framework for C++
単体テストの分離Isolating unit tests - Microsoft Fakes を使用したテストでのコードの分離- Isolating 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. - コード カバレッジを使用した、テストされるプロジェクトのコード割合の確認- Using Code Coverage to Determine How Much Code is being Tested
ロード テストを使用したストレスおよびパフォーマンスの分析の実行: ロード テストを作成し、それに単体テストを追加すると、アプリケーションのパフォーマンスおよびストレスの問題を分離するのに役立ちます。Perform stress and performance analysis by using load tests: You can create a load test and add your unit tests to it to help isolate performance and stress issues in your application. - ロード テスト (VSTS と TFS)- Load Testing (VSTS and TFS)
品質ゲートの設定: 品質ゲートを作成し、コードがチェックインされる前にテストを実行することで、コードの品質を保証できます。Set quality gates: You can create quality gates to enforce that tests are run before code is checked in, to help ensure the quality of the code. - チェックイン ポリシー (VSTS)- Check-in policies (VSTS)
テストのオプションを設定する: たとえば、テスト結果が格納される場所を指定できます。Set testing options: For example, you can specify where test results are stored. .runsettings ファイルを使用して単体テストを構成するConfigure unit tests by using a .runsettings file

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

関連項目See also