Como criar o arquivo de fonte de dados fora do método de teste principal
-
19-09-2019 - |
Pergunta
[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.
}
Mas aqui o método MyTestinitialize não está sendo executado, pois o MyTestMethod está tentando fazer uma conexão de dados com o datafile.xml e ele é falhado. Quero usar o arquivo datafile.xml como um arquivo de dados no meu teste orientado a dados e ele deve ser criado no tempo de execução. Por favor me ajude se houver outra solução alternativa para isso.
Solução
Funciona quando você muda o [TestInitialize()]
para [AssemblyInitialize()]
ou [ClassInitialize()]
?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow