簡體   English   中英

MSTest中的數據驅動測試 - TestContext.DataRow的問題

[英]Data driven testing in MSTest - problem with TestContext.DataRow

我與下面鏈接的問題基本上有相同的問題,但我似乎無法讓它工作。 我得到“無法將索引[]應用於System.Data.DataRow類型的表達式”。 據我所知,我已正確實施了解決方案。

MSTest中數據驅動測試的問題

[TestClass]
public class UnitTest1
{
    private TestContext testContextInstance;

    public TestContext TestContext
    {
        get
        {
            return testContextInstance;
        }
        set
        {
            testContextInstance = value;
        }
    }        

    private ServiceReference1.ProductCatalogClient client = new ServiceReference1.ProductCatalogClient("BasicHttpBinding_IProductCatalog");

    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\CountList.csv", "CountList#csv", DataAccessMethod.Sequential), DeploymentItem("..\\ServiceTest\\CountList.csv"), TestMethod]
    public void AreCountsCorrect()
    {
        int id = TestContext.DataRow["Id"] as int;
        int count = client.GetProductCount(id);
        Assert.IsTrue(count == TestContext.DataRow["Count"] as int);
    }
}

System.Data的引用添加到測試項目。 不知道為什么不會自動包含,因為DataRow用於數據驅動測試。

您應該為測試項目添加Reference以解決此問題。 我不知道VS2013為什么不自動添加它。

右鍵單擊您的測試項目,Add-> Reference ...-> Assemblies-> Framework-> System.Data,檢查它。

完成!

在此輸入圖像描述

我和this.TestContext.DataRow [“PathFile_Original”]有同樣的問題,我做錯了很簡單,我沒有添加對System.Data的引用,這就是全部。

它很容易修復,確保你已經有了庫。

干杯

要解決您的問題,正如其他人所說,您應該在項目中添加對System.Data的引用。

如果在添加引用后仍有問題,則可能需要重新啟動Visual Studio,並刪除所有冗余引用或using標頭。

這個人和我一起工作

[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);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM