Pregunta

Esencialmente tengo el mismo problema que la pregunta vinculada a continuación, pero parece que no puedo hacer que funcione. Estoy obteniendo "no puedo aplicar la indexación [] a una expresión de type system.data.datarow". Por lo que puedo decir, he implementado la solución correctamente.

Problemas con las pruebas impulsadas por datos en 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);
    }
}
¿Fue útil?

Solución

Agregar una referencia a System.Data al proyecto de prueba. No tengo idea de por qué eso no se incluiría automáticamente ya que Datarow se usa para pruebas de datos.

Otros consejos

Debe agregar referencia a su proyecto de prueba para solucionar este problema. No sé por qué VS2013 no lo agrega automáticamente.

Haga clic con el botón derecho en su proyecto de prueba, add-> referencia ...-> ensamblajes-> framework-> system.data, verifíquelo.

¡Hecho!

enter image description here

Tuve el mismo problema que tú con this.testContext.datarow ["PathFile_original"], lo que estaba haciendo mal era tan simple que no agregué la referencia a System.Data, eso era todo.

Es bastante fácil de arreglar, asegúrese de que ya tenga biblioteca.

Salud

Para solucionar su problema, como han dicho otros, debe agregar una referencia a System.Data en tu proyecto.

Si todavía tiene un problema después de que se haya agregado esa referencia, es posible que deba reiniciar Visual Studio y eliminar cualquier referencia redundante o using encabezados.

este esta trabajando conmigo

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

}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top