随着更多的特性被添加到相对便宜的 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 )关注我们。
评论