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