Live Unit Testing

  在Visual Studio 2017 企业版中,微软给我们带来了Live Unit Testing,这是一套可以实时反馈单元测试覆盖和通过情况的黑科技,有了它,我们写用例不需要频繁的运行测试,也不需要频繁的运行覆盖率检查,一切都可以在改变代码后实时反馈给我们。

启动

  在Visual Studio 2017 企业版中,可以通过如下方式启动Live Unit Testing:

如果你发现启动Live Unit Testing后没有任何反应,别紧张,多半是你没有引入MSTest V2的类库(TestPlatform.TestFramework和TestFramework.Extensions)并移除MSTest的类库(QualityTools.UnitTestFramework)

Live Unit Testing需要实时分析代码,运行代码,显然对性能会有极大的需求,因此Visual Studio提供了暂停功能,暂停时收集的数据会缓存起来,恢复后可以更快的完成代码分析。

反馈代码覆盖情况

  当我们成功启动Live Unit Testing后,在代码中可以看到:

其中
红色的叉:当前行至少被一条未通过的用例覆盖
绿色的钩:当前行被覆盖,且覆盖的用例都通过
蓝色的杠:当前行未被用例覆盖

Live Unit Testing分析代码会需要一定时间,因此我们可能会短暂的看到如下处理中的等待符号:

  当Live Unit Testing分析完代码后,我们可以通过点击代码行前的符号快速的看到哪些用例通过,哪些用例失败,失败的原因是什么等等,还可以进一步快速定位到用例位置,便于修改用例。

测试框架支持

  目前Live Unit Testing支持主流的三个测试框架:MSTest、xUnit.net、NUnit,支持情况如下:

其他

  鉴于性能考虑,Live Unit Testing支持在解决方案中选择部分项目或者类做代码分析,同时,Live Unit Testing和Test Explorer是同步的,在代码编辑窗口反馈的同时,Test Explorer也会实时更新。如果需要更多的Live Unit Testing配置,可以到Tools/Options/Settings中搜索Live Unit Testing。

-------------本文结束 感谢您的阅读-------------

本文标题:Live Unit Testing

文章作者:nero

发布时间:2017年11月12日 - 20:11

最后更新:2017年11月16日 - 19:11

原始链接:http://erdao123.oschina.io/nero/2017/11/12/UnitTest/Live-Unit-Testing/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。