我正在运行使用代码覆盖率数据Xcode 7 Beta 2的应用程序测试用例。但是,当我的所有测试用例运行成功时,我只能获取几个文件覆盖数据。
某些文件已经通过单元测试用例覆盖了所有代码,但仍显示3%的代码覆盖率。
例如:
这是代码覆盖的结果,您可以在右侧看到,有一个信息在测试期间调用这几行代码的次数。在这种情况下 – 0。
但…
这里是一个测试的地方,我们可以看到这个功能确实被称为。多少次?哦…至少一次该号码由右侧的信息提供。
所以上面的代码应该被标记为被调用,而不是变灰:-)
有人可以解释一下吗为什么会这样呢?
解决方法
有用。
>由于Apple发布了@testable关键字将您的项目导入测试目标,所以您不必再将文件添加到目标中:
>所以只需从测试目标中删除每个文件:
>无论您需要从测试目标访问您的文件,只需使用以下命令导入目标:@testable import MyApp
>为您的项目中的每个文件执行此操作。
那么代码覆盖率会很好。
阅读更多从Swift 2 + Xcode 7: Unit Testing Access Made Easy!!!!
如果您需要知道如何使用代码覆盖率读取How to use code coverage in Xcode 7?
正如前面提到的@Gerd Castan所说:“所以在我看来,当至少存在一个没有测试这个方法的目标时,测试的方法显示为0。
解决方案很简单不要让编译器认为这个文件被包含在更多的目标中,而是使用@testable关键字导入你的模块。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。