[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文件作为数据文件,应该在运行时间创建它。如果还有其他解决方法,请帮助我。

有帮助吗?

解决方案

更改它时它可以工作吗 [TestInitialize()][AssemblyInitialize()] 或者 [ClassInitialize()] ?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top