Taking the MSTest Framework forward with “MSTest V2”[译]

  最近,我们宣布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的新版本,带来了如下这些新功能:

  1. 提供全平台支持-桌面程序,商店程序,UWP,ASP.NET Core 1.0,.NET Core 1.0
  2. 对所有的基于MSTest的测试工程提供数据行支持
  3. 允许将TestCategory特性应用到类级别和程序集级别
  4. 统一的单一终端扩展机制
  5. 通过nuget分发

  在申明中有关于如何在.NET Core中使用MSTest V2。如果是桌面程序或UWP程序,可以参考如下步骤:

  • 首先安装“MSTest V2”类库

  • 接着安装适配器(此适配器和用于.NET Core的适配器不通用):

  • 然后在代码中引用命名空间(此命名空间处理了对老版本的兼容性问题):

    using Microsoft.VisualStudio.TestTools.UnitTesting
    

OK,这样我们就配置好了,接下来就可以写测试用例了。

我们的计划

  接下来我们将会有如下一些动作:

  1. 在Visual Studio 2015 Release 版本中,我们会更新一些测试工程模版和测试生成向导以增加对MSTest V2的支持
  2. 所有的bug修复和功能迭代都会围绕MSTest V2
  3. 我们会继续提供早期版本的MSTest二进制文件,但那仅仅是为了兼容性
  4. 我们会文档化扩展机制
  5. 我们会从社区收集反馈

期待你的参与

  1. 如果你有使用MSTest的测试工程,强烈建议升级到MSTest V2,并开始使用它
  2. 如果你有写一些MSTest的扩展,建议你在MSTest V2中继续使用
  3. 如果你有新的测试工作,建议你使用MSTest V2

反馈

(此处省略n个字)

总结

  作为一个测试平台,我们一直希望可以作为你评估多个测试平台后的最终选择。这次的新版本有望实现我们的目标。

强烈建议阅读英文原文

date: 2017-11-06 22:15:45

posted @ 2018-02-05 22:41  .NET学徒  阅读(186)  评论(0编辑  收藏  举报