入力として 2 つの XML ファイルを受け取り、それらを比較するテスト メソッドがあります。Microsoft.VisualStudio.TestTools.UnitTesting
でフレームワークを使用してい.NET 4.5
ます。複数の XML ファイル (一度に 2 つ) を取り、テストを実行して結果を個別に提供するように、テスト メソッドを変更したいと考えています。
次のコードを試してみましたが、単一の出力しか得られず、入力ファイルのペアがテストに失敗すると停止します。
string[] source = {file1, file2, file3, file4....};
string[] target = {fileA, fileB, fileC, fileD....};
[Test Method]
public void TestCase01()
{
TestLogic testObj = new TestLogic(); //class containing the comparison method
for (int i = 0; i < source.Length; i++)
{
Assert.IsTrue (testObj.VerifyFiles(source[i], target[i]));
}
}
いくつかの調査を行ったところ、DataSource
属性を使用できることがわかりました。DataSource
しかし、属性に 2 つの配列 (または 1 つの 2 次元配列) を渡す方法がわかりません。最後の手段として、Microsoft.VisualStudio.TestTools.UnitTesting
テストやその他のサードパーティのフレームワークに使用することをお勧めします。NUnit
編集: 入力ファイルの数がわかりません。例として 4 つのファイルを使用しました。ファイルを TestMethod に渡す前に、ID を使用してそれらをペアにします。そのため、最初に 2 つの異なるフォルダーから 2 つのファイル セットを読み取り、ID に基づいてそれらをペアにしてから、ペアになったファイルをテスト用のテスト ケースに渡します。私が現在行っている方法は、ペアになったファイル名 (ソースとターゲット) を配列またはリストに保存し、それらをテスト ケースに渡すことです。明らかに、この方法は機能しておらず、上記の問題が発生しています。