我有一个测试方法,它将两个 XML 文件作为输入并进行比较。我Microsoft.VisualStudio.TestTools.UnitTesting
在.NET 4.5
. 我想修改测试方法,使其需要多个 XML 文件(一次两个),运行测试并分别给出结果。
我尝试了以下代码,但它只提供一个输出,并在任何一对输入文件未通过测试时停止。
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
属性。我更愿意将其Microsoft.VisualStudio.TestTools.UnitTesting
用于测试和其他 3rd 方框架,例如NUnit
仅作为最后的手段。
编辑: 我不知道输入文件的数量。我以 4 个文件为例。在将文件传递给 TestMethod 之前,我使用它们的 ID 对它们进行配对。所以我首先从两个不同的文件夹中读取了两组文件,根据它们的ID进行配对,然后将配对后的文件传递给测试用例进行测试。我现在这样做的方式是将配对的文件名(源和目标)保存在一个数组或列表中,然后将它们传递给测试用例。显然这种方法不起作用,我遇到了上述问题。