gpt4 book ai didi

ios - 代码覆盖率结果与 Xcode 7 中的实际覆盖率不准确

转载 作者:IT王子 更新时间:2023-10-29 05:12:19 26 4
gpt4 key购买 nike

我在启用了代码覆盖率数据 Xcode 7 Beta 2 的应用程序中运行测试用例。但是当我的所有测试用例都成功运行时,我只能获得很少的文件覆盖率数据。

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

例如:

enter image description here这是代码覆盖率的结果,正如您在右侧看到的那样,有一个信息是这些代码行在测试期间被调用了多少次。在这种情况下 - 0。

但是……

enter image description here这是测试中的一个地方,我们可以看到这个函数确实被调用了。多少次?哦……至少一次。此号码由右侧的信息提供。

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

谁能解释一下?为什么会这样?

最佳答案

它有效

  1. 自从 Apple 发布了 @testable 关键字以将您的项目导入到测试目标中,您不必再将文件添加到两个目标中:

enter image description here

  1. 因此只需从测试目标中删除所有文件即可:

enter image description here

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

enter image description here

  1. 对项目中的每个文件执行此操作。

然后代码覆盖将正常工作。

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

如果您需要了解如何使用代码覆盖率,请阅读 How to use code coverage in Xcode 7?

正如 @Gerd Castan 之前提到的:“所以在我看来,当至少存在一个未测试该方法的目标时,该测试方法显示的覆盖率为 0。”

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

关于ios - 代码覆盖率结果与 Xcode 7 中的实际覆盖率不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30976820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com