次の方法で共有


MSTest でテストを記述する

この記事では、テストの記述や成型の参考として、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 クラスは、プライベート インスタンス メソッドの呼び出しではなく、プライベート静的メソッドの呼び出しに使用されます。