一連の同様の assert ステートメントの代わりに、テストがパラメーターのリスト (期待値を含む) を反復処理し、結果を期待値と比較するように、C# 単体テストをパラメーター化する方法は?
使用事例:
- この特定の単体テストでは、XML ドキュメントをチェックし、XML 要素名のリストを調べて、ドキュメントにこれらの要素が含まれていることと、それらの値が期待どおりであることを確認する必要があります。
テスト メソッドのアサート部分は、次のような一連のアサーションで構成されます。
var width = output.Element(namespace + "width");
Assert.IsNotNull(width);
Assert.AreEqual(width.Value, "600");
冗長なコードを避け、代わりに同じコードを異なる値で繰り返し処理したいと考えています。アサーション チェックで反復するデータ構造を定義するにはどうすればよいですか?
必要なデータ構造は、タプルのリストです (この場合、型 (XName、string) の要素を含みます)。それをC#で表現するには?ここで役立つ標準的な単体テスト ツールはありますか?
詳しくは:
- Visual Studio 単体テスト フレームワーク (Microsoft.VisualStudio.TestTools.UnitTesting) と .Net 3.5 を使用する
- ユースケース自体をさまざまなパラメーター値で実行する必要はなく、アサート部分だけを実行します (上記のコード)。