Mam metodę testowania, która pobiera dwa pliki XML jako dane wejściowe i porównuje je. Korzystam z ramy Microsoft.VisualStudio.TestTools.UnitTesting
na .NET 4.5
. Chcę zmodyfikować metodę testowania tak, aby wykonywała wiele plików XML (dwa na raz w parze), uruchamia test i podaje wyniki osobno.Testowanie danych w języku C# przy użyciu tablic
Próbowałem następujący kod, ale daje tylko jedno pojedyncze wyjście i zatrzymuje się, gdy jakakolwiek para plików wejściowych nie przejdzie testu.
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]));
}
}
Po wykonaniu niektórych badań okazało się, że atrybut DataSource
mogą być użyte. Ale nie wiem, jak przekazać dwie tablice (lub pojedynczą tablicę dwuwymiarową) do atrybutu DataSource
. Wolałbym używać Microsoft.VisualStudio.TestTools.UnitTesting
do testowania i innych frameworków zewnętrznych, takich jak NUnit
tylko w ostateczności.
Edytuj: Nie wiem, ile plików wejściowych. Użyłem 4 plików jako przykładu. Przed przekazaniem plików do TestMethod paruję je za pomocą ich identyfikatorów. Najpierw odczytałem dwa zestawy plików z dwóch różnych folderów, sparowałem je na podstawie ich identyfikatora, a następnie przekazałem sparowane pliki do testowego testu. Sposób, w jaki teraz to robię polega na tym, że zapisuję sparowane nazwy plików (źródło i cel) w tablicy lub liście, a następnie przekazuję je do sprawy testowej. Oczywiście ta metoda nie działa i mam problem, jak wspomniano powyżej.
Czy mógłbyś trochę rozwinąć? Może dasz mu kod demonstracyjny. – Vijay