2009-11-11 44 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. 
    } 

但这里MyTestInitialize方法不执行外主要测试方法的数据源文件,如MyTestMethod正在试图与DataFile.xml的数据连接,并得到它失败了。我想在Data Driven Testing中将DataFile.xml文件用作数据文件,并且应该在运行时创建它。如果有其他解决方法,请帮助我。如何创建

回答

1

当您将[TestInitialize()]更改为[AssemblyInitialize()][ClassInitialize()]时,它会工作吗?