次の方法で共有


単体テストでの Microsoft.VisualStudio.TestTools.UnitTesting のメンバーの使用

単体テスト フレームワークは、Visual Studio での単体テストをサポートします。単体テストをコーディングする場合は、Microsoft.VisualStudio.TestPlatform.UnitTestFramework 名前空間のクラスとメンバーを使用します。単体テストを最初から作成する場合や、テストしているコードから生成された単体テストを調整する場合に、これらを使用できます。

要素のグループ

単体テスト フレームワークの概要を明らかにするために、このセクションでは、UnitTesting 名前空間の要素を関連機能のグループに整理します。

[!メモ]

名前に文字列 Attribute が含まれる属性要素は、文字列 Attribute が付いていても付いていなくても使用できます。たとえば、次の 2 つのコード例は、同じように機能します。

[TestClass()]

[TestClassAttribute()]

Ff770525.collapse_all(ja-jp,VS.110).gifデータ ドリブン テストで使用する要素

データ ドリブン単体テストを設定するには、次の要素を使用します。詳細については、「方法: データ ドリブン単体テストを作成する」および「チュートリアル : データ ソースを定義するための構成ファイルの使用」を参照してください。

  • DataAccessMethod

  • DataSourceAttribute

  • DataSourceElement

  • DataSourceElementCollection

呼び出し順序を確立するために使用する属性

次のいずれかの属性で装飾されたコード要素は、指定した時点で呼び出されます。詳細については、「単体テストの構造」を参照してください。

Ff770525.collapse_all(ja-jp,VS.110).gifアセンブリ用

AssemblyInitialize はアセンブリがロードされた直後、AssemblyCleanup はアセンブリがアンロードされる直前に呼び出されます。

  • AssemblyInitializeAttribute

  • AssemblyCleanupAttribute

Ff770525.collapse_all(ja-jp,VS.110).gifクラス用

ClassInitialize はクラスがロードされた直後、ClassCleanup はクラスがアンロードされる直前に呼び出されます。

  • ClassInitializeAttribute

  • ClassCleanupAttribute

Ff770525.collapse_all(ja-jp,VS.110).gifテスト メソッド用

  • TestInitializeAttribute

  • TestCleanupAttribute

テスト クラスおよびメソッドの識別に使用する属性

各テスト クラスには TestClass 属性が必要です。また、各テスト メソッドには TestMethod 属性が必要です。詳細については、「単体テストの構造」を参照してください。

  • TestClassAttribute

  • TestMethodAttribute

アサート クラスおよび関連する例外

単体テストでは、さまざまな Assert ステートメント、例外、および属性を使用することによって、特定のアプリケーション動作を検査できます。詳細については、「Assert クラスの使用」を参照してください。

  • Assert

  • CollectionAssert

  • StringAssert

  • AssertFailedException

  • AssertInconclusiveException

  • UnitTestAssertException

  • ExpectedExceptionAttribute

TestContext クラス

次の属性およびそれらの属性に割り当てられる値は、Visual Studio で、特定のテスト メソッドの [プロパティ] ウィンドウに表示されます。これらの属性は、単体テストのコードからアクセスされることは目的としていません。その代わりに、Visual Studio の IDE、または Visual Studio テスト エンジンが単体テストを使用または実行するときの方法に影響します。たとえば、これらの属性には、[テスト マネージャー] ウィンドウや [テスト結果] ウィンドウの列として表示されるものがあり、それらを使用してテストやテスト結果をグループ化したり並べ替えたりできます。このような属性の 1 つに TestPropertyAttribute があります。この属性を使用して、任意のメタデータを単体テストに追加できます。たとえば、単体テストを [TestProperty("TestPass", "Accessibility")] とマークして、このテストで扱うテスト パスの名前を格納するために使用できます。また、[TestProperty("TestKind", "Localization")] を使用して、テストの種類のインジケーターを格納できます。この属性を使用して作成するプロパティ、および割り当てるプロパティ値は、どちらも Visual Studio の [プロパティ] ウィンドウの [各テストで特有] という見出しの下に表示されます。

  • OwnerAttribute

  • DeploymentItemAttribute

  • DescriptionAttribute

  • HostTypeAttribute

  • IgnoreAttribute

  • PriorityAttribute

  • TestPropertyAttribute

  • WorkItemAttribute

テスト構成クラス

レポートの生成に使用する属性

このセクションの属性は、Team Foundation Server チーム プロジェクトのプロジェクト階層内のエンティティに、この属性が修飾するテスト メソッドを関連付けます。

  • CssIterationAttribute

  • CssProjectStructureAttribute

プライベート アクセサーと共に使用するクラス

Using Publicize to Create a Private Accessor」で説明されているように、プライベート メソッドの単体テストを生成できます。生成するとプライベート アクセサー クラスが作成され、このクラスにより、PrivateObject クラスのオブジェクトがインスタンス化されます。PrivateObject クラスは、プライベート アクセサー プロセスの一部としてリフレクションを使用するラッパー クラスです。これは PrivateType クラスに似ていますが、PrivateType クラスは、プライベート インスタンス メソッドの呼び出しではなく、プライベート静的メソッドの呼び出しに使用されます。

  • PrivateObject

  • PrivateType

参照

関連項目

Microsoft.VisualStudio.TestPlatform.UnitTestFramework