将TestContext用于TestMethod数据源

时间:2015-04-10 11:15:30

标签: c# xml automation mstest

使用MSTest,有没有人知道如何通过TestContext对象读取XML属性?

我有以下代码:

protected TestContext testContext;
public TestContext TestContext
{
    get { return this.testContext; }
    set { this.testContext = value; }
}

[TestMethod]
[DeploymentItem("\\TestData\\MyXML.xml")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\TestData\\MyXML.xml", "Client", DataAccessMethod.Sequential)]

public void ReadMyXMLFile()
{
       TestContext.DataRow["Client"].ToString()
}

这没关系,因为我可以检索所有客户端。但是,如果在我的XML中,我有我希望过滤掉的属性呢?例如,在我现有的XML中,我有以下内容:

<?xml version="1.0" standalone="no" ?>
<Clients>
  <Client valid="true">
    <ClientName>John</ClientName>
    <ClientID>123</ClientID>
  </Client>
  <Client valid="false">
    <ClientName>Rufus</ClientName>
    <ClientID>564</ClientID>
  </Client>
</Clients>

所以使用DataSource和TextContext对象有什么办法可以过滤掉valid attribute = true的客户端吗?

谢谢。

0 个答案:

没有答案