単体テストでの Microsoft.VisualStudio.TestTools.UnitTesting のメンバーの使用
単体テスト フレームワークは、Visual Studio での単体テストをサポートします。単体テストをコーディングする場合は、Microsoft.VisualStudio.TestPlatform.UnitTestFramework 名前空間のクラスとメンバーを使用します。単体テストを最初から作成する場合や、テストしているコードから生成された単体テストを調整する場合に、これらを使用できます。
要素のグループ
単体テスト フレームワークの概要を明らかにするために、このセクションでは、UnitTesting 名前空間の要素を関連機能のグループに整理します。
[!メモ]
名前に文字列 Attribute が含まれる属性要素は、文字列 Attribute が付いていても付いていなくても使用できます。たとえば、次の 2 つのコード例は、同じように機能します。
[TestClass()]
[TestClassAttribute()]
データ ドリブン テストで使用する要素
データ ドリブン単体テストを設定するには、次の要素を使用します。詳細については、「方法: データ ドリブン単体テストを作成する」および「チュートリアル : データ ソースを定義するための構成ファイルの使用」を参照してください。
DataAccessMethod
DataSourceAttribute
DataSourceElement
DataSourceElementCollection
呼び出し順序を確立するために使用する属性
次のいずれかの属性で装飾されたコード要素は、指定した時点で呼び出されます。詳細については、「単体テストの構造」を参照してください。
アセンブリ用
AssemblyInitialize はアセンブリがロードされた直後、AssemblyCleanup はアセンブリがアンロードされる直前に呼び出されます。
AssemblyInitializeAttribute
AssemblyCleanupAttribute
クラス用
ClassInitialize はクラスがロードされた直後、ClassCleanup はクラスがアンロードされる直前に呼び出されます。
ClassInitializeAttribute
ClassCleanupAttribute
テスト メソッド用
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
テスト構成クラス
TestConfigurationSection
レポートの生成に使用する属性
このセクションの属性は、Team Foundation Server チーム プロジェクトのプロジェクト階層内のエンティティに、この属性が修飾するテスト メソッドを関連付けます。
CssIterationAttribute
CssProjectStructureAttribute
プライベート アクセサーと共に使用するクラス
「Using Publicize to Create a Private Accessor」で説明されているように、プライベート メソッドの単体テストを生成できます。生成するとプライベート アクセサー クラスが作成され、このクラスにより、PrivateObject クラスのオブジェクトがインスタンス化されます。PrivateObject クラスは、プライベート アクセサー プロセスの一部としてリフレクションを使用するラッパー クラスです。これは PrivateType クラスに似ていますが、PrivateType クラスは、プライベート インスタンス メソッドの呼び出しではなく、プライベート静的メソッドの呼び出しに使用されます。
PrivateObject
PrivateType
参照
関連項目
Microsoft.VisualStudio.TestPlatform.UnitTestFramework