MSTest 每次都调用构造函数

MSTest invokes contructor everytime

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

好吧,有多个不同的属性指示何时应调用方法。当您希望对所有测试只设置一次 运行 时,您应该使用 ClassInitialize 属性,而不是构造函数:

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

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

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