Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在主测试方法之外创建数据源文件_C#_Datasource_Data Driven Tests - Fatal编程技术网

C# 如何在主测试方法之外创建数据源文件

C# 如何在主测试方法之外创建数据源文件,c#,datasource,data-driven-tests,C#,Datasource,Data Driven Tests,但是这里MyTestInitialize方法没有执行,因为MyTestMethod试图与DataFile.xml建立数据连接,但失败了。我想在数据驱动测试中使用DataFile.xml文件作为数据文件,它应该在运行时创建。如果有任何其他解决方法,请帮助我。将[TestInitialize()]更改为[AssemblyInitialize()]或[ClassInitialize()]是否有效 [TestInitialize()] public void MyTestInitiali

但是这里MyTestInitialize方法没有执行,因为MyTestMethod试图与DataFile.xml建立数据连接,但失败了。我想在数据驱动测试中使用DataFile.xml文件作为数据文件,它应该在运行时创建。如果有任何其他解决方法,请帮助我。

[TestInitialize()]
更改为
[AssemblyInitialize()]
[ClassInitialize()]
是否有效

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