VS11 将拥有更好的单元测试工具和 Fakes 框架

  • Roopesh Shenoy
  • 侯伯薇

2012 年 3 月 17 日

话题:语言 & 开发

在 Visual Studio 11 中将会拥有新的单元测试管理器、在每个构建版本上运行测试的能力、更好的代码覆盖率工具、对第三方框架的支持、新的 VS Fakes 框架、更好的性能等,从而为开发者提供更好的单元测试体验。

我们最近报道过VS11 Beta 支持多个测试框架。 这本身就是一项重大改善,另外,其中还对 MSUnit 和 Visual Studio 单元测试工作流做出了多项改善:

  • 更好的单元测试管理器——像红绿条之类的指示器,通过记号搜索(例如,只搜索“失败的”测试),记录以优先显示失败的测试,对更多故障细节的链接(像错误信息和堆栈跟踪信息)。
  • MS-Test 的改善——性能提升,对更多测试更好的处理,对 64 位.NET 的支持,多目标(multi-targeting),异步单元测试支持,本地单元测试支持。
  • VS Fakes 框架——Stubs 和 Shims(运行时方法拦截程序)。 Shims 尤其有趣,因为它让你可以用自己的实现替换所有已经存在的方法,包括基础的类型和方法。 你可以阅读 MSDN 上更多关于 Shims 的资料。 Mocks 对象消失了,但是你可以在stub 方法的实现中做断言,从而在某些情况下克服这一点。
  • 其他工具的改善——更简单的代码覆盖率工具(不需要安装),在每次构建之后自动运行测试。

还有更多特性没有在 VS11 beta 中发布,但是还在开发之中,像更好的启动性能,在单元测试管理器中分组和排序等等。 Peter Provost写了一篇包括所有这些新特性的详细文章。

另外,微软不建议使用 VS 10 的一些单元测试特性:

  • 测试列表
  • 私有存取器
  • 测试影响
  • 生成单元测试向导

使用这些特性的遗留测试在 VS 11 中仍然有效,但是你无法使用它们创建新的测试。 之所以裁掉这些特性,主要是因为它的体验很差或者性能方面的原因。 在 VS 11 的最终版本中,其中的一些特性会被更好的功能所替代。

你可以从这里下载 Visual Studio 11 的 beta 版以及相关资料。

扩展阅读

Visual Studio 11 Beta 支持多种测试框架

微软发布 Visual Studio 11 Beta 版本

预览 Visual Studio11: 敏捷的支持、团队协作以及代码克隆监测

Visual Studio 11 新界面引发热议

查看英文原文:VS11 Gets Better Unit Testing Tools, Fakes Framework
语言 & 开发