如何摆脱Xcode 9.4中的此错误生成代码覆盖范围

时间:2018-07-06 11:57:48

标签: code-coverage xcode-ui-testing xcode9.4

当我尝试运行UI测试时,我不断看到此弹出窗口“错误生成代码覆盖率”,并且此后缺少另一个错误束标识符。我在测试方案中启用了代码覆盖率。我真的很希望在没有此阻塞错误的情况下运行UI测试。

enter image description here

enter image description here

enter image description here

4 个答案:

答案 0 :(得分:1)

Apple遇到了一个问题,该问题已在Xcode 9的公开雷达下提出,并通过XCode 10得以解决

一个可能的解决方案是:

  • 移动到Xcode 10并在“构建设置”中启用代码覆盖。

  • 此外,在您的测试方案中,进入“测试”操作并检查 “启用代码覆盖率复选框”以收集覆盖率数据(如您在问题图像中所看到的)

答案 1 :(得分:0)

我暂时解决了这个问题,但不确定是否合适。

每次我需要清理项目

Xcode->首选项->派生数据(删除此文件夹)

构建项目,然后运行测试。

答案 2 :(得分:0)

在iOS <10上使用模拟器时出现此错误,因此使用更高版本的iOS模拟器为我解决了该问题

答案 3 :(得分:0)

我以前在下一个错误日志中也遇到类似的问题:

  

14:35:45.129 Xcode [83419:1712361] _finishWithError:Error   Domain = IDETestOperationsObserverErrorDomain代码= 5“启动会话   签入之前已过期。” UserInfo = {NSLocalizedDescription =启动   会话在签入之前已过期。}

通过将遗漏的框架添加到单元测试目标中来解决此问题:

  • 将构建的框架拖到测试目标的“链接二进制文件”构建阶段。
  • 在“构建设置”选项卡下的“测试”目标中,将@ loader_path / Frameworks添加到“运行路径搜索路径”(如果尚未存在的话)。
  • 确保测试包中存在依赖项。使用Frameworks目标创建一个新的Copy Files构建阶段,然后在其中也添加Framework引用。