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

1 Ответ

1 голос
/ 11 ноября 2009

Работает ли при изменении [TestInitialize()] на [AssemblyInitialize()] или [ClassInitialize()]?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...