在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版以及相关资料。