TestInitialize vs ClassInitialize
本文关键字:ClassInitialize vs TestInitialize | 更新日期: 2023-09-27 17:57:52
MSTest中的TestInitialize
和ClassInitialize
之间有什么区别?每种方法的优缺点是什么?
我的印象是TestInitialze
每次都应该与EACH测试一起运行?这是正确的吗?并且ClassInitialize
将在每次任何类的新实例时运行?
这两个属性仅可用于它们所属的类(以及测试)。
TestInitialize
在声明属性的同一类上声明的每个测试之前运行。
ClassInitialize
仅在声明属性的类初始化时运行。换句话说,它不会为每一个班级运行。仅适用于包含ClassInitialize
方法的类。
如果您想要一个在所有测试或类初始化之前运行一次的方法,请使用AssemblyInitialize
。
由于ClassInitialize和ClassCleanUp是静态的,即使MSTest可以创建测试类的多个实例,它们也只执行一次。
你可以在这里阅读更多信息:The Pesky MSTest Execution Ordering。。learn.microsoft.com