C# MSTest中的数据驱动测试-TestContext.DataRow存在问题

C# MSTest中的数据驱动测试-TestContext.DataRow存在问题,c#,automated-tests,mstest,data-driven-tests,C#,Automated Tests,Mstest,Data Driven Tests,我的问题基本上与下面链接的问题相同,但我似乎无法让它起作用。我得到“无法将索引[]应用于System.Data.DataRow类型的表达式”。据我所知,我已经正确地实现了解决方案 向测试项目添加对System.Data的引用。因为DataRow用于数据驱动的测试,所以不知道为什么它不会自动包括在内。这一个正在与我一起工作 [TestMethod] [TestCategory("Category 4")] [DataSource("MyExcelDataSource")]

我的问题基本上与下面链接的问题相同,但我似乎无法让它起作用。我得到“无法将索引[]应用于System.Data.DataRow类型的表达式”。据我所知,我已经正确地实现了解决方案


向测试项目添加对
System.Data
的引用。因为DataRow用于数据驱动的测试,所以不知道为什么它不会自动包括在内。

这一个正在与我一起工作

[TestMethod]
    [TestCategory("Category 4")]
    [DataSource("MyExcelDataSource")]
    [DeploymentItem("UnitTestProject\\DBConnections.xlsx")]
    public void testwithexceldata()
    {
        //http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.testcontext.datarow.aspx

        int x = TestContext.DataRow.Table.Rows.Count;
        int Balance = Convert.ToInt32(TestContext.DataRow["Balance"]);
        int Amount = Convert.ToInt32(TestContext.DataRow["Amount"]);
        Assert.AreEqual(Balance, Amount);

}

我和您在这个.TestContext.DataRow[“PathFile\u Original”]中遇到了同样的问题, 我做错的事情很简单,我没有向系统添加引用。数据,仅此而已

它很容易修复,请确保您已经有了库


干杯

您应该添加对测试项目的引用以解决此问题。我不知道为什么VS2013不会自动添加它

右键单击您的测试项目,添加->引用…->程序集->框架->系统数据,选中它

完成了


要解决您的问题,正如其他人所说,您应该在项目中添加对
System.Data
的引用


如果添加该引用后仍存在问题,则可能需要重新启动Visual Studio,并使用标题删除任何冗余引用或

发现我的问题:需要在我的测试项目中添加对System.Data的引用。这不提供问题的答案。要评论或要求作者澄清,请在他们的帖子下方留下评论-你可以随时在自己的帖子上发表评论,一旦你有足够的评论,你就可以发表评论了。谢谢鲍勃。我对我的答案进行了编辑,使之成为问题的答案。
[TestMethod]
    [TestCategory("Category 4")]
    [DataSource("MyExcelDataSource")]
    [DeploymentItem("UnitTestProject\\DBConnections.xlsx")]
    public void testwithexceldata()
    {
        //http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.testcontext.datarow.aspx

        int x = TestContext.DataRow.Table.Rows.Count;
        int Balance = Convert.ToInt32(TestContext.DataRow["Balance"]);
        int Amount = Convert.ToInt32(TestContext.DataRow["Amount"]);
        Assert.AreEqual(Balance, Amount);