Microsoft 将在 VS 2017 中提供“实时单元测试”特性

  • Jonathan Allen
  • Rays

2017 年 2 月 12 日

话题:.NET语言 & 开发

随着更多的特性被添加到相对便宜的 Visual Studio 版本中,Microsoft 一直在试图证明 Visual Studio 企业版本昂贵标价的合理性。今年 Microsoft 新推出的头条特性就是“实时单元测试 (Live Unit Testing)”。

构建并自动运行测试的特性在 Visual Studio 里已经存在有一段时间了。实时单元测试在此上更进了一步,可以在代码输入的同时运行测试,甚至无需保存文件。只要代码发生更改,就启动运行单元测试。

与实时单元测试一并提供的还有实时代码覆盖特性,该特性提供图标用于标识测试通过、测试失败或未进行测试的代码。图标上的覆盖条表示新的测试正在运行中。点击该图标将会列出相关测试,而鼠标滑过则会显示堆栈信息。

VS 的实时单元测试特性目前支持 NUnit、xUnit 和 MSTest,但是你需要安装最新的两个.NET Core 预览版。当前实时单元测试并不支持 Universal Windows(UWP)应用和 Xamarin。Microsoft 的 Manish Jayaswal 写道:“添加对.NET Core 的支持已经在路线图中,但是对此我们尚未有时间表”。

据来自 Microsoft 的 Tanner Gooding 披露,推迟的部分原因在于.NET Core 的 PDB 符号文件发生了更改。PDB 符号文件早先仅是设计用于 Windows 的,但是新的跨平台 PDB 格式已发生了重大更改。

可能“实时单元测试”听上去十分耳熟,因为该特性并非由 Microsoft 率先提供。由 Remco Software 公司提供的 NCrunch 具有基本相同的工作原理。但是作为更早出现的产品,NCrunch 有更充分的时间优化自身与 IDE 的集成,只需点击一两下鼠标就可完成详细错误分析。NCrunch 中还集成了分布式处理和性能的相应指标,而在 Visual Studio 企业版中,这些功能由单独的工具提供。

虽然无法做真实价格的对比,但是无疑 NCrunch 更适合于那些精打细算的开发者。NCrunch 单机版报价自 159 美元起步,企业版许可的报价是一个用户 289 美元,从早期版本升级则会有折扣。

查看英文原文:Microsoft to Offer Live Unit Testing in Visual Studio 2017


感谢薛命灯对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

.NET语言 & 开发