加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 代码覆盖结果对于Xcode 7中的实际覆盖率来说并不准确

发布时间:2020-12-15 02:04:42 所属栏目:百科 来源:网络整理
导读:我正在运行使用代码覆盖率数据Xcode 7 Beta 2的应用程序测试用例。但是,当我的所有测试用例运行成功时,我只能获取几个文件覆盖数据。 某些文件已经通过单元测试用例覆盖了所有代码,但仍显示3%的代码覆盖率。 例如: 这是代码覆盖的结果,您可以在右侧看
我正在运行使用代码覆盖率数据Xcode 7 Beta 2的应用程序测试用例。但是,当我的所有测试用例运行成功时,我只能获取几个文件覆盖数据。

某些文件已经通过单元测试用例覆盖了所有代码,但仍显示3%的代码覆盖率。

例如:

这是代码覆盖的结果,您可以在右侧看到,有一个信息在测试期间调用这几行代码的次数。在这种情况下 – 0。

但…

这里是一个测试的地方,我们可以看到这个功能确实被称为。多少次?哦…至少一次该号码由右侧的信息提供。

所以上面的代码应该被标记为被调用,而不是变灰:-)

有人可以解释一下吗为什么会这样呢?

解决方法

有用。

>由于Apple发布了@testable关键字将您的项目导入测试目标,所以您不必再将文件添加到目标中:

enter image description here

>所以只需从测试目标中删除每个文件:

enter image description here

>无论您需要从测试目标访问您的文件,只需使用以下命令导入目标:@testable import MyApp

enter image description here

>为您的项目中的每个文件执行此操作。

那么代码覆盖率会很好。

阅读更多从Swift 2 + Xcode 7: Unit Testing Access Made Easy!!!!

如果您需要知道如何使用代码覆盖率读取How to use code coverage in Xcode 7?

正如前面提到的@Gerd Castan所说:“所以在我看来,当至少存在一个没有测试这个方法的目标时,测试的方法显示为0。

解决方案很简单不要让编译器认为这个文件被包含在更多的目标中,而是使用@testable关键字导入你的模块。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读