So erstellen Sie die DataSource -Datei außerhalb der Hauptprüfungsmethode
-
19-09-2019 - |
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.
Lösung
Funktioniert es, wenn Sie die ändern [TestInitialize()]
zu [AssemblyInitialize()]
oder [ClassInitialize()]
?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow