dotCover持续测试中处理覆盖率结果失败问题求助
我之前帮几个开发者解决过类似的问题,结合你用的Visual Studio 2017 Professional + ReSharper Ultimate 2017.3.5环境,给你几个针对性的排查和修复步骤:
清理ReSharper缓存:Continuous Testing严重依赖ReSharper的本地缓存,缓存损坏是这类字典键缺失错误的常见原因。操作步骤:打开VS的
ReSharper菜单 →Options→Environment→General,点击Clear Caches,然后重启Visual Studio。重置测试覆盖配置:可能是覆盖规则里配置了不存在的程序集或无效规则。操作:
ReSharper→Options→Tools→Unit Testing→Coverage,点击Restore Defaults,保存后重新启动Continuous Testing。排查单个测试项目的干扰:既然之前运行正常,大概率是某个新增/修改的测试项目导致的。可以暂时禁用部分项目的Continuous Testing(右键项目 →
ReSharper→Continuous Testing→Pause),逐个排查找到异常项目,然后检查该项目的引用、测试类是否有重复命名、程序集冲突等问题。更新MSTest适配器和框架:旧版本的MSTest组件可能和ReSharper 2017.3.5存在兼容性问题。打开NuGet包管理器,给所有测试项目更新
MSTest.TestAdapter和MSTest.TestFramework到VS2017支持的最新稳定版本,之后清理解决方案(Build→Clean Solution)并重新生成。重置ReSharper全局设置:如果以上方法都无效,可以尝试重置ReSharper的所有设置来排除配置异常:
ReSharper→Manage Options→ 点击Reset All Settings,之后重新配置Continuous Testing的相关选项。
内容的提问来源于stack exchange,提问作者tonyjy

