如果我在MSTEST中用TestCleanup属性标记一个清理函数,它会一直运行吗,即使在我的代码中有一个未处理的异常?有没有什么东西会导致这个代码块不能运行?我已经设置并测试了它,它似乎总是运行清理,但我想确保我没有遗漏什么。
发布于 2011-07-20 03:09:24
如果您的测试抛出异常,TestCleanup代码将运行。
我发现唯一会导致TestCleanup无法运行的是一个非托管访问冲突。这最终导致了整个MSTest过程的中断。但在托管领域,几乎任何东西都是可以的,TestCleanup将会运行。
显然,任何可以终止该进程的东西都会使TestCleanup无法运行,如评论中提到的,例如断电、硬盘故障等。
发布于 2014-11-21 05:23:53
如果TestInitialize抛出异常,TestCleanup就不会运行。这是单元测试框架的一个常见的“特性”。
https://stackoverflow.com/questions/6752497
复制相似问题