??最近,我们宣布MSTest Framework支持.NET Core RC2/ASP.NET Core RC2,最终,我们把加入这一新特性的MSTest Framework更名为“MSTest V2”,在发布版本中可以看到关于改进MSTest Framework的大致方向。
了解一些上下文
??在Visual Studio中,我们有一套开放的测试平台,通过不同的适配器,支持使用不同的测试框架写测试用例,开发者可以根据自己的意愿自由选择,就像一个测试框架和不同适配器组成的测试生态系统。在这个生态系统中,MSTest扮演着特殊的角色,它经常被用来写纯粹的单元测试。然而,这么些年来,为了给多个平台提供支持,MSTest已变得有些冗杂。为了给桌面程序,应用商店程序,以及UWP程序提供支持,开发者需要了解这之间的细微差别。比如,针对桌面程序的命名空间是Microsoft.VisualStudio.TestTools.UnitTesting,而UWP的命名空间是另外的Microsoft.VisualStudio.TestPlatform.UnitTestFramework。
MSTest V2
??在MSTest V2上,我们投入了比较大的精力,它是MSTest的新版本,带来了如下这些新功能:
- 提供全平台支持-桌面程序,商店程序,UWP,ASP.NET Core 1.0,.NET Core 1.0
- 对所有的基于MSTest的测试工程提供数据行支持
- 允许将TestCategory特性应用到类级别和程序集级别
- 统一的单一终端扩展机制
- 通过nuget分发
??在申明中有关于如何在.NET Core中使用MSTest V2。如果是桌面程序或UWP程序,可以参考如下步骤:
首先安装“MSTest V2”类库
接着安装适配器(此适配器和用于.NET Core的适配器不通用):
然后在代码中引用命名空间(此命名空间处理了对老版本的兼容性问题):
using Microsoft.VisualStudio.TestTools.UnitTesting
OK,这样我们就配置好了,接下来就可以写测试用例了。
我们的计划
??接下来我们将会有如下一些动作:
- 在Visual Studio 2015 Release 版本中,我们会更新一些测试工程模版和测试生成向导以增加对MSTest V2的支持
- 所有的bug修复和功能迭代都会围绕MSTest V2
- 我们会继续提供早期版本的MSTest二进制文件,但那仅仅是为了兼容性
- 我们会文档化扩展机制
- 我们会从社区收集反馈
期待你的参与
- 如果你有使用MSTest的测试工程,强烈建议升级到MSTest V2,并开始使用它
- 如果你有写一些MSTest的扩展,建议你在MSTest V2中继续使用
- 如果你有新的测试工作,建议你使用MSTest V2
反馈
(此处省略n个字)
总结
??作为一个测试平台,我们一直希望可以作为你评估多个测试平台后的最终选择。这次的新版本有望实现我们的目标。
date: 2017-11-06 22:15:45