Il mio obiettivo è di avere dati "annidati" in ciascuna delle mie Iterazioni di test delle mie unità. Voglio farlo in modo da avere un set di dati da richiamare, oltre a un elenco di azioni (descritte da stringhe) che vengono poi interpretate ed eseguite nei miei test. Al momento sono in esecuzione test in VS2013 tramite Test Explorer che utilizza correttamente dati non annidati (ad esempio, nessun gruppo di voci secondarie di dati/azioni).XML nidificato per test dell'unità Data Driven
Per esempio, i miei dati potrebbero essere:
<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>
Vorrei accedere agli elementi di dati come per un test non-nested normale (dataElements["element"]
), però, mi piacerebbe avere gli elementi Azioni in una lista. Ho provato quanto segue senza successo:
var data = TestContext.DataRow.GetChildRows("Iteration_Data");
var actions = TestContext.DataRow.GetChildRows("Iteration_Actions");
GetChildRows sembra il metodo corretto, ma sono in grado di visualizzare i dati in oggetto restituito che assomiglia miei elementi XML - ho solo 1 DataRow
oggetto che ha un ItemArray
di 3 valori (0, {}, 0). Come faccio a recuperare una lista dei miei elementi di azione in modo da poter accedere al testo:
- "EnterText_LoginName"
- "EnterText_Password"
- "ClickButton_Login"