2013-04-10 12 views
13

これらの属性に関するVisual Studioの更新2に関するMicrosoftのビデオを見てきました。しかし、私は彼らに関する他の情報を見つけることができず、それらを使ってビルドするプロジェクトを手に入れることもできません。MSTESTのDataTestMethodおよびDataRow属性

誰でも知っていますか、それとも働く方法を知っていますか?

ありがとうございました。

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

[MSTestで複数のパラメータを使用してテストメソッドを実行するには?](http://stackoverflow.com/questions/9021881/how-to-run-a-test-method-with-multiple-parameters -in-mstest#13710788)。 – Schaliasos

+0

ありがとうございました。なぜその使用が限られているかの手掛かりはありますか? –

+0

私は本当に知りません。しかし、あなたはそれを[UserVoice](http://visualstudio.uservoice.com/forums/121579-visual-studio/category/31481-net)に追加することができます:) – Schaliasos

答えて

8

WinRTの/メトロのためのユニットテストプロジェクト内でのみ利用可能であり、これはMSTESTを持つすべてのテストのために使用できない理由を今すぐアップデート2で、Windowsの携帯電話8は、それは私には謎ですが表示されます。

1)インストール2つのNuGetパッケージ (バージョンは本当にない:

+1

さて、それは今です - または少なくとも次のバージョンのMSTest https://blogs.msdn.microsoft.com/visualstudioalm/2016/06/17/taking-the-mstest-framework-forward-with-mstest-v2/ –

+1

これはNuGetパッケージhttps: //blogs.msdn.microsoft.com/visualstudioalm/2016/06/17/taking-the-mstest-framework-forward-with-mstest-v2/ – ironstone13

6

最後に、この機能は基本的に https://blogs.msdn.microsoft.com/visualstudioalm/2016/06/17/taking-the-mstest-framework-forward-with-mstest-v2/

(まだプレリリースに)追加された、1は2つのことを行う必要があります問題が、これは私が持っているものである)

<package id="MSTest.TestAdapter" version="1.1.5-preview" targetFramework="net452" /> 
    <package id="MSTest.TestFramework" version="1.0.6-preview" targetFramework="net452" /> 

2)それが同じ名前空間で定義された同じ属性を持っているので、古いテストライブラリにrefenreceを削除する - これは戻って達成するために行われました病棟の互換性

Microsoft.VisualStudio.QualityTools.UnitTestFramework 
+1

きれいに書かれています。無料の実行時間で。簡単な出力ログと 'DataTestMethod'のような機能MSTest-v2は競争力のあるユニットテストフレームワークです。 – Aaron

10

私はこれが古い質問ですけど、一言で言えばhttps://blogs.msmvps.com/bsonnino/2017/03/18/parametrized-tests-with-ms-test/

に掲載の良いウォークスルーが今そこにある、あなたはMSTest.TestFrameworkMSTest.TestAdapterをインストールする必要があり、かつMicrosoft.VisualStudio.QualityTools.UnitTestFrameworkへの参照を削除します。次に、[DataTestMethod]属性を使用してパラメータ化されたテストを指定し、例に従って[DataRow]属性を使用してパラメータを追加できます。 [DataRow]属性の値は、指定された順序でテストメソッドに渡されます。

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

+1

答えのTimさんに感謝します。何らかの理由で誰かが絶対にMSTestに縛られているなら、それは素晴らしいニュースです。そうでなければ、NUnit、XUnitなどに変更することを強くお勧めします。マイクロソフトは単にテストやTDDを真剣に受け止めません。私たちは、非常に大規模なプロジェクトを、MSTestからNUnitに変更しました。これは、より完全な機能を備えたテストフレームワークへの扉を開きました。 Microsoftがボリュームを話すこのシンプルな機能を提供するには、4年かかりました。 –

+1

'DateTime'テストに単一の' int'を渡すと便利です。私の場合、さまざまな時間2,3,4をテストします。 – SushiGuy

関連する問題