首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift中打开代码覆盖率时分割故障11

在Swift中打开代码覆盖率时分割故障11
EN

Stack Overflow用户
提问于 2016-01-06 13:37:11
回答 4查看 1.4K关注 0票数 4

当我在Swift中使用XCTest运行单元测试时,它们在关闭代码覆盖时运行良好。但是,一旦我尝试启用代码覆盖率,我就有一个失败的构建/测试,其中有4个类提供了以下错误消息:命令由于信号而失败:分段错误: 11

EN

回答 4

Stack Overflow用户

发布于 2016-02-24 00:11:48

以下是对我有用的东西(因为所有其他建议在我的情况下都不起作用)。当我试图在打开代码覆盖率的情况下运行单元测试时,我在某个Swift类上得到了一个分段错误11。原来,我们在类的属性上有一个三元表达式,如下所示:

代码语言:javascript
复制
let cellBorder : CGFloat = MyHelperClass.isIPad() ? 10.0 : 6.0

使它成为一个懒惰的变量解决了这个问题:

代码语言:javascript
复制
lazy var cellBorder : CGFloat = MyHelperClass.isIPad() ? 10.0 : 6.0

为了明确起见,这些代码编译并运行了很好的,直到我们尝试打开代码覆盖率。我还找到了概述解决方案的开放雷达这家伙的职位。似乎是苹果的窃听器。

票数 3
EN

Stack Overflow用户

发布于 2016-01-06 14:01:21

如果没有代码、构建设置等,很难确定,但您应该检查的一件事是确保您在单元测试类中使用了@testable导入标志。

例如,将一个名为MyApp的项目放在单元测试类的顶部,您将包括在下面的导入@testable import MyApp中。

您还需要检查以确保您一直遵循启用覆盖率的过程。这些信息记录在苹果的开发者门户上:

代码覆盖率@ Apple Developer

票数 2
EN

Stack Overflow用户

发布于 2016-07-23 15:56:44

请参阅有关类似问题的错误报告。https://bugs.swift.org/plugins/servlet/mobile#issue/SR-1825

在实现协议时,我也遇到了同样的错误,该协议需要一个可选变量,而这个变量是我作为惰性变量实现的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34634486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档