2009-11-11 8 views
0
[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 obtenir échoué. Je souhaite utiliser le fichier DataFile.xml comme fichier de données dans mes tests pilotés par les données et il doit être créé lors de l'exécution. S'il vous plaît aidez-moi s'il y a une autre solution pour cela.Comment créer un fichier en dehors DataSource méthode d'essai principal

Répondre

1

Est-ce que cela fonctionne quand vous changez le [TestInitialize()] en [AssemblyInitialize()] ou [ClassInitialize()]?