??在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。
date: 2017-11-12 20:24:10