Cómo crear un archivo de fuente de datos fuera del método de prueba principal
-
19-09-2019 - |
Pregunta
[TestInitialize()]
public void MyTestInitialize()
{
XmlTextWriter writer = new XmlTextWriter("DataFile.xml", Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteProcessingInstruction("xml", "version='1.0' encoding='utf-8'");
writer.WriteStartElement("TestCases");
DirectoryInfo dir = new DirectoryInfo("Metadata");
foreach (FileInfo file in dir.GetFiles())
{
writer.WriteElementString("TestCase", file.Name);
}
writer.Close();
}
[TestMethod()]
[DeploymentItem("FunctionalTestsProject\\TestData")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML",
"|DataDirectory|\\DataFile.xml",
"TestCase", DataAccessMethod.Sequential)]
public void MyTestMethod()
{
I want to use DataFile created by MyTestInitialize method.
}
Pero aquí el método de mytestinitialize no se está ejecutando, ya que mytestmethod está tratando de hacer una conexión de datos con dataFile.xml y fallece. Quiero usar el archivo DataFile.xml como un archivo de datos en mis pruebas impulsadas por datos y debe crearse en el tiempo de ejecución. Ayúdame si hay alguna otra solución para esto.
Solución
¿Funciona cuando cambias el [TestInitialize()]
a [AssemblyInitialize()]
o [ClassInitialize()]
?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow