我的目标是在每个单元测试迭代中有“嵌套”的数据。我想这样做是为了拥有一组可调用的数据,以及一组字符串描述的操作(由此在我的测试中进行解释和执行)。我目前正在使用VS2013中的Test Explorer运行测试,正确地利用非嵌套数据(例如没有Data/Actions子项组)。
例如,我的数据可能是:
我希望能够像常规非嵌套测试一样访问Data中的元素(dataElements["element"]),但是我希望将Actions元素放在列表中。我尝试了以下方法,但均未成功:
例如,我的数据可能是:
<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>
我希望能够像常规非嵌套测试一样访问Data中的元素(dataElements["element"]),但是我希望将Actions元素放在列表中。我尝试了以下方法,但均未成功:
var data = TestContext.DataRow.GetChildRows("Iteration_Data");
var actions = TestContext.DataRow.GetChildRows("Iteration_Actions");
看起来 GetChildRows
方法是正确的方法,但我无法在返回的对象中看到任何类似于我的 XML 元素的数据 - 我只得到 1 个 DataRow
对象,它有一个值为 3 的 ItemArray
(0,{},0)。如何检索我的 Action 元素列表以便我可以访问以下文本:
- "EnterText_LoginName"
- "EnterText_Password"
- "ClickButton_Login"