この記事では、テストの記述や成型の参考として、MSTest で使用される API と規則について説明します。
属性
MSTest では、カスタム属性を使用してテストを識別およびカスタマイズします。
テスト フレームワークの概要をより明確にするために、このセクションでは、Microsoft.VisualStudio.TestTools.UnitTesting 名前空間のメンバーを関連する機能グループごとにまとめています。
注
名前が "Attribute" で終わる属性要素は、使用するときに末尾に "Attribute" を付けても付けなくてもかまいません。 パラメーターなしのコンストラクターを持つ属性を記述するには、かっこを付けても付けなくてもかまいません。 次のコード例は同じように動作します。
[TestClass()]
[TestClassAttribute()]
[TestClass]
[TestClassAttribute]
MSTest 属性は次のカテゴリに分類されます。
- テスト クラスとテスト メソッドの識別に使用する属性
- データ駆動テストで使用する属性
- 初期化とクリーンアップを行うために使用する属性
- テスト実行の制御に使用する属性
- ユーティリティ属性
- メタデータの属性
アサーション
Microsoft.VisualStudio.TestTools.UnitTesting 名前空間の Assert クラスは、特定の機能を確認するために使用します。 テスト メソッドはアプリケーション コード内のメソッドのコードを実行しますが、Assert ステートメントを含める場合にのみコードの動作の正確性を報告します。
MSTest アサーションは、次のクラスに分かれています。
TestContext
クラス
TestContext クラスは、コンテキスト情報とテスト実行のサポートを提供し、テストの実行に関する情報を簡単に取得し、環境の側面を操作できるようにします。 これは Microsoft.VisualStudio.TestTools.UnitTesting 名前空間で定義されており、MSTest Framework を使用するときに使用できます。
詳細については、「TestContext
オブジェクト へアクセス」または「TestContext
メンバー」を参照してください。
プライベート メンバーのテスト
プライベート メソッドのテストを生成できます。 生成するとプライベート アクセサー クラスが作成され、このクラスにより、PrivateObject クラスのオブジェクトがインスタンス化されます。 PrivateObject クラスは、プライベート アクセサー プロセスの一部としてリフレクションを使用するラッパー クラスです。 これは PrivateType クラスに似ていますが、PrivateType クラスは、プライベート インスタンス メソッドの呼び出しではなく、プライベート静的メソッドの呼び出しに使用されます。
.NET