Estoy usando VSTS 2K8 y he configurado un Proyecto de prueba de unidades. En él, tengo una clase de prueba con un método que hace una simple afirmación. Estoy usando una hoja de cálculo de Excel 2007 como mi fuente de datos.Error de prueba de unidad: el adaptador de prueba de la unidad no se conectó a la fuente de datos o para leer los datos
Mi método de prueba es el siguiente:
[DataSource("System.Data.Odbc",
"Dsn=Excel Files;dbq=|DataDirectory|\\MyTestData.xlsx;defaultdir=C:\\TestData;driverid=1046;maxbuffersize=2048;pagetimeout=5",
"Sheet1",
DataAccessMethod.Sequential)]
[DeploymentItem("MyTestData.xlsx")]
[TestMethod()]
public void State_Value_Is_Set()
{
string expected = "MD";
string actual = TestContext.DataRow["State"] as string;
Assert.AreEqual(expected, actual);
}
Como se indica en los atributos de método de decoración, una hoja de cálculo de Excel está en mi local C:/Drive. En él, la hoja donde se encuentran todos mis datos se llama "Hoja1".
He copiado la hoja de cálculo de Excel en mi proyecto y he configurado su Acción de compilación = "Contenido" y he configurado su Copia en el Directorio de salida = "Copiar si es más reciente".
Al intentar ejecutar esta prueba simple unidad, recibo el siguiente error:
The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see "Troubleshooting Data-Driven Unit Tests" (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library. Error details: ERROR [42S02] [Microsoft][ODBC Excel Driver] The Microsoft Office Access database engine could not find the object 'Sheet1'. Make sure the object exists and that you spell its name and the path name correctly.
He verificado que el nombre de la hoja está escrito correctamente (es decir, Hoja1) y He verificado que mis fuentes de datos están configurados correctamente
Las búsquedas web no han aparecido demasiado. Y estoy totalmente perplejo.
¡Toda ayuda o entrada se agradece!
El nombre de la hoja debe tener un '$' agregado; de lo contrario, definitivamente fallará (sigue siendo válido para Visual Studio 2015) como: "Hoja1 $" – DeChrist