是否可以在MSTest / VS单元测试中使用确定性ClassCleanup?

时间:2011-11-17 19:52:41

标签: unit-testing tdd mstest

即。在测试类中的所有测试之后,使用ClassCleanup属性修饰一次立即? (如NUnit中的TestFixtureTearDown)。任何解决方法?

在TestInitialize和TestCleanup中嵌入这种繁重的设置/拆卸的替代方案只会加快测试执行时间。

我在过去一周比较了这两个。 (这是我发现的NUnit vs MSTest 。在MSTest没有很多飞行时间,所以如果我犯了错误,请随时将更正作为评论发布..)

就我而言,这个特别的项目是一个表现。如果您想了解更多详细信息,请阅读博客文章的第一部分。

2 个答案:

答案 0 :(得分:1)

  

ClassInitialize和ClassCleanup在您的类加载之后以及在卸载类之前立即调用。

确实如此,但在所有测试完成后,类会被批量卸载。

E.g。

ClassInitialize1
TestInitialize1
TestMethod11
TestCleanup1
TestInitialize1
TestMethod12
TestCleanup1
ClassInitialize2
TestInitialize2
TestMethod21
TestCleanup2
TestInitialize2
TestMethod22
TestCleanup2
TestInitialize2
TestMethod23
TestCleanup2
ClassCleanup1
ClassCleanup2

答案 1 :(得分:0)

根据MSDN ClassCleanup运行如下:

  

对于课程

     

ClassInitialize和ClassCleanup在您的课程后立即调用   在你的课程卸载之前加载。

当我读到它时,这意味着当班级中的测试已经运行时。