Question

    [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.
     }

Mais ici MyTestInitialize méthode n'est pas exécuté, comme MyTestMethod tente d'établir une connexion de données avec DataFile.xml et il s'échoué. Je veux utiliser DataFile.xml fichier en tant que fichier de données dans mon données Driven Testing et il devrait être créé à l'heure de l'exécution. S'il vous plaît aidez-moi s'il y a une autre solution pour cela.

Était-ce utile?

La solution

fonctionne-t-il lorsque vous modifiez le [TestInitialize()] à [AssemblyInitialize()] ou [ClassInitialize()]?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top