2010-06-07 12 views
5

Estoy intentando que las pruebas controladas por datos funcionen en C# con MSTest/Selenium. Aquí es una muestra de algunos de mi código tratando de configurarlo:Problemas con las pruebas controladas por datos en MSTest

[TestClass] 
public class NewTest 
{ 
    private ISelenium selenium; 
    private StringBuilder verificationErrors; 
    [DeploymentItem("GoogleTestData.xls")] 
    [DataSource("System.Data.OleDb", 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=GoogleTestData.xls;Persist Security Info=False;Extended Properties='Excel 8.0'", 
    "TestSearches$", DataAccessMethod.Sequential)] 

    [TestMethod] 
    public void GoogleTest() 
    { 
     selenium = new DefaultSelenium("localhost", 4444, "*iehta", http://www.google.com); 
     selenium.Start(); 
     verificationErrors = new StringBuilder(); 
     var searchingTerm = TestContext.DataRow["SearchingString"].ToString(); 
     var expectedResult = TestContext.DataRow["ExpectedTextResults"].ToString(); 

    ... 

Aquí está mi error: error 3 Se requiere una referencia de objeto para el campo no estático, método o propiedad 'Microsoft.VisualStudio .TestTools.UnitTesting.TestContext.DataRow.get 'E: \ Projects \ SeleniumProject \ SeleniumProject \ MaverickTest.cs 32 33 SeleniumProject

El error está subrayando la parte "TestContext.DataRow" de ambas instrucciones. ¡Realmente he estado luchando con este, gracias!

+0

No estoy seguro de cómo obtener el código de allí sin que conseguir masacrado? perdón a todos – Jacob

Respuesta

9

intento:

public TestContext TestContext { get; set; } 

y tratar de usarlo como:

this.TestContext.DataRow["SearchingString"].ToString(); 
+0

¡Gracias por la respuesta! Probé las adiciones de código y me dice que no puede aplicar la indexación con [] a una expresión de tipo 'System.Data.DataRow'. ¿Cree que es un problema con mi configuración en la hoja de cálculo? ¡Soy nuevo en C# si no puedes decirlo! – Jacob

+0

No importa ... lo conseguí ... ¡estuviste muerto con el método TestContext gracias! Así es como tuve que usarlo para que funcione: searchTerm = System.Convert.ToString (TestContext.DataRow ["SearchingString"]); – Jacob

+0

Me alegro de ser de ayuda, ¡salud! – VoodooChild

Cuestiones relacionadas