Hallo zusammen,
ganz allgemein: Gibt es eine Mglichkeit eine TestMethode mehrere Male aufzurufen? Und das von Hand. DataDriven-Unit-Tests lassen nur eine Datenquelle zu, ich hab aber mehrere XML-Files mit Testcasses und Asserts...
Viele liebe Grüsse
Coffeebean
EDIT: Titel editiert
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hallo Coffeebean,
bei NUnit gibts das Repeat-Attribut. Da du aber MsTest verwendet (?) gibts dort keine Entsprechung dafür (wenn ich mich nicht irre). Möglich ist jedoch ein for-Schleife zu verwenden.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Da du aber MsTest verwendet (?)
Ja, verwende ich.
Am Ende sollen alle Tests, basierend auf den XML-Testcases, unten in den TestResults vom VS angezeigt werden.
Wenn ich nun eine TestMethod mache, in der mir alle Daten zusammensuche und dann mittels einer For-Schleife einen weiteren Unit-Test aufrufe (und die entsprechenden parameter übergebe) bekomme ich nicht die Darstellung der Testresults hin.
Ist NUnit in dem Fall eine mögliche Lösung?
Gruss
Coffeebean
EDIT:
Die Beschreibung sagt:
"RepeatAttribute is used on a test case to specify that it should be executed multiple times. If any repetition fails, the remaining ones are not run and a failure is reported. "
Ich möchte jedoch, dass bei einem fehlgeschlagenen Assert die ausstehenden Tests weiter ausgeführt werden.
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hallo Coffeebean,
das Repeat-Attribut deck sich direkt mit dem Titel des Beitrag, daher sind korrekte Titel auch so wichtig 😉
Bei NUnit gibts hierfür das TestCaseSource-Attribut und dort (bzw. in einer Methode auf die "verwiesen" wird) kannst du das XML lesen und die Test-Methode füttern. Das ist genau was du brauchst.
Es ist afaik auch möglich NUnit unter MsTest zu verwenden, ob sich das jedoch nur auf die Asserts beschränkt weiß ich nciht genau, vermute aber fast, da die anderen Attribute den NUnit-Runner benötigen.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
das Repeat-Attribut deck sich direkt mit dem Titel des Beitrag, daher sind korrekte Titel auch so wichtig 😉
Da hast du recht.
Vielen Dank, ich schaue mir das mal an.
Für alle, die das gleiche Problem haben:
Danke.
Viele liebe Grüsse
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Für alle, die das gleiche Problem haben
Auch praktisch ist in diesem Zusammenhang das Theory Attribut: Man legt die möglichen Werte via Datapoints einmalig fest und NUnit verwendet alle einmal (und permutiert sogar bei mehreren Parametern).
Hallo zusammen,
dazu gibt es auch das Values Attribut in Verbindung mit dem Sequential Attribut und dem Combinatorial Attribut.
Again what learned...
Hallo,
das Theorie- und Values-Attribute ist sehr praktisch, kann aber nicht verwendet werden, wenn es um eine (externe) Datenquelle geht, die wie hier als XML-Datei vorliegt. Hier funktioniert nur die TestCaseSource, bei der zur Laufzeit die Werte gelesen werden können.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"