如何在所有测试之前执行一行代码,这是MSTest中的数据设置代码

时间:2016-06-10 05:07:25

标签: c# .net visual-studio unit-testing mstest

我有一个非常罕见的情况。我有一个函数,让我们将其称为DataGenerator。此方法生成测试执行所需的所有测试XML。这些XML在每个MSTests中被引用为数据源。

    [TestMethod]
    [TestCategory("UITest"), TestCategory("PersonalDetailsFlow")]
    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\TestFlows.xml", "flow", DataAccessMethod.Sequential)]
    public void TestMethod1()
    {
     //Test Code
    } 

我使用以下代码创建测试XML

    [ClassInitialize]
    public static void ClassInit(TestContext context)
    {
        DriverData driverData = new DriverData();
        driverData.DataGenerator();
    }

当我运行此代码时,我得到以下错误行     单元测试适配器无法连接到数据源或读取数据。有关解决此错误的详细信息,请参阅“数据驱动的单元测试疑难解答”

我相信这是因为MSTEST在| DataDirectory | \ |

中寻找TestFlow.xml

任何人都可以帮我解释如何执行代码

DriverData driverData = new DriverData();
driverData.DataGenerator();

在执行任何代码之前,我可以避免上述消息。任何指针都会很棒

1 个答案:

答案 0 :(得分:0)

你尝试使用静态构造函数吗? 请参阅:MSDN - static constructor

最佳, 丹尼尔