39

我很好奇为什么夹具设置必须是静态的?对我来说,每个固定装置的实例变量共享固定装置的生命周期似乎更直观。

是的,这些可以在构造函数中初始化,但是我假设它们超出了测试运行器的控制范围。

什么设计要求或理念决定了设置方法应该是静态的?

4

1 回答 1

46

具有该ClassInitialize属性的方法对类中的所有测试运行一次。每次运行测试时都会创建一个类的实例,因此它必须是静态的才能只运行一次。

如果要为每个测试进行初始化,则可以使用该TestInitialize属性,该属性将在创建类的新实例时运行(在运行测试之前)。

如果您需要更多信息,可以查看:

讨厌的 MSTest 执行顺序

于 2012-08-26T18:36:20.270 回答