Domanda

Sto avendo sostanzialmente lo stesso problema come la questione legata al di sotto, ma io non riesco a farlo funzionare. Sto ottenendo "non si può applicare l'indicizzazione [] per un'espressione di tipo System.Data.DataRow". Per quanto posso dire, ho implementato la soluzione corretta.

Problemi con i dati di test guidato in 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);
    }
}
È stato utile?

Soluzione

Aggiungere un riferimento al System.Data per il progetto di test. Nessuna idea perché non dovrebbe essere incluso automaticamente dal DataRow viene utilizzata per i dati prove guidate.

Altri suggerimenti

Si dovrebbe aggiungere riferimento al progetto di test per risolvere questo problema. Non so il motivo per cui VS2013 non aggiunge automaticamente.

tasto destro del progetto di prova, Aggiungi-> Riferimento ...-> Assemblee> Framework-> System.Data, controllarlo.

Fatto!

entrare image description here

Ho avuto lo stesso problema con la this.TestContext.DataRow [ "PathFile_Original"], quello che stavo facendo male era così semplice, non ho aggiunto il riferimento a System.Data, niente di più.

E 'abbastanza facile da risolvere, assicurarsi che si dispone già di libreria.

Saluti

Per risolvere il problema, come altri hanno detto, è necessario aggiungere un riferimento a System.Data nel progetto.

Se si continua ad avere un problema dopo è stato aggiunto che di riferimento, potrebbe essere necessario riavviare Visual Studio, e rimuovere tutti i riferimenti ridondanti o intestazioni using.

questo sta lavorando con me

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

}

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top