Frage

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

Aber hier wird die MyTestinitialize -Methode nicht ausgestellt, da MyTestMethod versucht, eine Datenverbindung mit DataFile.xml herzustellen und fehlgeschlagen wird. Ich möchte die Datei dataFile.xml als Datendatei in meinen datengesteuerten Tests verwenden und sie sollte in der Laufzeit erstellt werden. Bitte helfen Sie mir, wenn es dafür eine andere Problemumgehung gibt.

War es hilfreich?

Lösung

Funktioniert es, wenn Sie die ändern [TestInitialize()] zu [AssemblyInitialize()] oder [ClassInitialize()] ?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top