c# - 使用 MSTest 属性

标签 c# unit-testing testing mstest

如果我在 MSTEST 中用 [TestCleanup] 属性标记清理函数,它是否会始终运行,即使我的代码中存在未处理的异常?有什么会导致此代码块不运行吗?我已经设置并测试了它,它似乎总是运行清理,但我想确保我没有遗漏任何东西。

最佳答案

如果您的测试抛出异常,[TestCleanup] 代码将运行。

我发现唯一会导致 TestCleanup 无法运行的是非托管访问冲突。这最终会取消整个 MSTest 过程。但是托管土地上的几乎所有内容都可以正常运行,并且 TestCleanup 将运行。

显然,任何可以终止该进程的事情都会使 TestCleanup 无法运行,如评论中所述,例如断电、硬盘驱动器故障等。

关于c# - 使用 MSTest 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752497/

相关文章:

javascript - AngularJs 单元测试失败,因为 Karma 无法识别 Controller 中的监听器 $scope.$

php - 使用 vfsStream 测试 move_uploaded_file 和 is_uploaded_file

java - 错误 : Could not find or load main class org. testng.remote.RemoteTestNG

java - Appium 无法在 iOS 8.4 上滚动

python - 导入错误 : cannot import name 'Testcase' from 'unittest'

c# - 基于 .Net 的网络爬虫示例

c# - 为什么有些闭包比其他的闭包 'Friendlier'?

c# - 加载前的 WPF 图像初始大小

c# - RavenDB 查询不再在 LinqPad 中工作

testing - TFS/VSTS 中的 CasperJS 测试结果