كيفية إنشاء ملف DataSource خارج طريقة الاختبار الرئيسية

StackOverflow https://stackoverflow.com/questions/1713874

سؤال

    [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