Mein Ziel ist es, Daten in jeder meiner Unit-Test-Iterationen "verschachtelt" zu haben. Ich möchte dies tun, damit ich eine Reihe von Daten aufrufen kann, sowie eine Liste von Aktionen (beschrieben durch Strings), die dann in meinen Tests interpretiert und ausgeführt werden. Momentan laufen Tests in VS2013 über den Test Explorer unter Verwendung nicht verschachtelter Daten (z. B. keine Untergruppen für Daten/Aktionen) korrekt.Verschachtelte XML für datengetriebenen Einheitstest
Zum Beispiel könnten meine Daten sein:
<TestData>
<Iteration>
<Data>
<LoginName>admin</LoginName>
<Password>admin</Password>
</Data>
<Actions>
<Action>EnterText_LoginName</Action>
<Action>EnterText_Password</Action>
<Action>ClickButton_Login</Action>
</Actions>
</Iteration>
</TestData>
ich die Elemente in Daten gemäß einem normalen nicht-verschachtelten Test zugreifen möchte (dataElements["element"]
), jedoch würde ich gerne die Aktionen Elemente haben in einer Liste. Ich habe die folgenden ohne Erfolg versucht:
var data = TestContext.DataRow.GetChildRows("Iteration_Data");
var actions = TestContext.DataRow.GetChildRows("Iteration_Actions");
GetChildRows scheint die richtige Methode, aber ich bin nicht in der Lage alle Daten in der zurückgegebene Objekt zu sehen, dass meine XML-Elemente ähnelt - ich nur 1 DataRow
Objekt, das ein ItemArray
hat von 3 Werten (0, {}, 0). Wie kann ich eine Liste meiner Action-Elemente abzurufen, damit ich den Text zugreifen:
- "EnterText_LoginName"
- "EnterText_Password"
- "ClickButton_Login"