MSTestでパラメータ化テスト使いたかったら、Chaining Assertion使うといいよ!ってブログに書いたのが、なんともう3年半前になるんですね。時間が過ぎるのは早いもんです。
そして、気が付くとMSTest v2で正式にパラメータ化テストが使えるようになっていました。
使い方
Visual Studio 2017ではMSTest v2が標準で使用されるようです。ただし、.Net Framework 4.5以上もしくは、.Net Coreで単体テストプロジェクトを作成する必要があります。
Visual Studio 2015以前の場合はNuGetでインストールすれば使えるようになると思います(環境がないので試せてない)
コード
こんな感じ。DataTestMethodAttributeを使用する必要があります。
[TestClass] public class UnitTest1 { [DataTestMethod] [DataRow(1, 1, 2)] [DataRow(1, 2, 3)] [DataRow(2, 3, 4)] public void TestMethod1(int a, int b, int c) { Assert.AreEqual(c, a + b); } }
実行結果
テストを実行すると、以下のような結果が表示されます。
まとめ
個人的に手っ取り早いので、MSTestを使うことが多いのですが、最近はxUnit.netを使ってるプロジェクトもよく目にします。
xUnit.netも使ってみたいなぁ。まぁ、自分の場合、どっちを使っても同じかなぁという気がしないでもないですが。
おしまい。