0

这是我的数据源

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|Data Directory|\\Input.xml", "testcase", DataAccessMethod.Sequential), TestMethod]

当我执行此操作时,出现以下错误

单元测试适配器连接数据源或读取数据失败。有关解决此错误的详细信息,请参阅 MSDN 库中的“数据驱动单元测试故障排除”( http://go.microsoft.com/fwlink/?LinkId=62412 )。
错误详细信息:对象引用未设置为对象的实例。

XML 文件位于项目的文件夹位置。我怎样才能防止这个错误?

4

2 回答 2

0

而不是上面的代码使用这个

[DeploymentItem("Project_Name\\Input.xml"), DeploymentItem("Input.xml"), TestMethod,
 DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\Input.xml", "datarow", DataAccessMethod.Sequential)]

使用以下代码获取 TestContext:

 public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }
        private TestContext testContextInstance;
于 2016-02-24T11:05:47.593 回答
0

使用下面的 xml 命名为 LoginInfo.xml 并在 LoginInfo.xml(右键单击 LoginInfo.xml---->Properties)属性中设置 Copy Always 在复制到输出目录中。

<xml>
  <authentication>
    <username>Biren</username>
    <password>BirenPassword</password>
  </authentication>
  <authentication>
    <username>Viren</username>
    <password>VirenPassword</password>
  </authentication>
  <authentication>
    <username>Bond</username>
    <password>BondPassword</password>
  </authentication>  
</xml>

在类中使用下面的代码来检查它

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

public void RunningXML()
{   string username=TestContext.DataRow["username"].ToString();
    string password = TestContext.DataRow["password"].ToString();
    Console.WriteLine("userName  :" + username);
    Console.WriteLine("passWord  :" + password);
}
于 2016-12-12T16:37:35.593 回答