MSTest每次都会调用构造函数

时间:2020-07-16 11:47:29

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

我有一个单元测试(MStest) 有一个具有很多测试方法的测试类。 如果我从TestExplorer运行所有方法,则每个方法都将调用构造函数。 有没有办法在所有这些方法中保存TestClass实例?

1 个答案:

答案 0 :(得分:2)

嗯,有多个不同的属性指示何时应调用方法。如果您希望安装程序对所有测试仅运行一次,则应使用ClassInitialize 属性,而不要使用构造函数:

[TestClass]
class MyTests
{
    [ClassInitialize]
    public static void SetupTests(TestContext context) { ... }
}

在构造函数中执行初始化只是一个坏主意,因为每个测试框架都有自己的计划,确定何时以及何时调用它们。相反,您应该使用确定性的属性。

如果您需要在每次测试之前进行初始化,则可以使用TestInitialize属性。

相关问题