2009-11-11 1 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 и получить не удалось. Я хочу использовать файл DataFile.xml в качестве файла данных в моем тестировании с управлением данными и должен быть создан во время выполнения. Пожалуйста, помогите мне, если есть какие-либо другие способы решения этой проблемы.Как создать DataSource файл вне основного метода испытания

ответ

1

Это работает, когда вы меняете [TestInitialize()] на [AssemblyInitialize()] или [ClassInitialize()]?