53

これらの属性に関する Visual Studio update 2 に関する Microsoft ビデオを見たことがあります。ただし、それらに関する他の情報を見つけることができず、それらを使用してビルドするプロジェクトを取得できません。

これらの属性について、またはそれらを機能させる方法を知っている人はいますか?

[DataTestMethod]
[DataRow("a", "b")]
[DataRow(" ", "a")]
public void TestMethod1(string value1, string value2)
{
    Assert.AreEqual(value1 + value2, string.Concat(value1, value2));
}
4

3 に答える 3

64

https://blogs.msmvps.com/bsonnino/2017/03/18/parametrized-tests-with-ms-testで最初に公開された優れたウォークスルーがあります(リンクは現在、ウェイバック マシンによってアーカイブされています)。

MSTest.TestFramework簡単に言うと、 と をインストールしMSTest.TestAdapter、 への参照を削除する必要がありますMicrosoft.VisualStudio.QualityTools.UnitTestFramework。次に、属性を使用してパラメーター化されたテストを示し、例に従って[DataTestMethod]、属性を使用してパラメーターを追加できます。[DataRow]属性の値は、[DataRow]指定された順序でテスト メソッドに渡されます。

属性の値は[DataRow]プリミティブでなければならないので、たとえばDateTimeorを使用できないことに注意してください。decimalそれらが必要な場合は、この制限を回避する必要があります (たとえばDateTime、日付を表すパラメーターを使用する代わりに、年、月、日を表す 3 つの整数パラメーターを使用しDateTimeて、テスト ボディ内に を作成できます)。

于 2017-09-18T12:42:02.580 に答える
8

これは、WinRT/Metro の単体テスト プロジェクト内でのみ利用可能であり、現在は Windows Phone 8 の更新プログラム 2 でのみ利用可能です。

于 2013-04-10T09:36:56.097 に答える