Xcode代码覆盖第三方框架

时间:2018-05-22 21:00:59

标签: ios xcode code-coverage

我的手上有一个相当奇怪的任务。 (在iOS上开发objective-c应用程序)

我想找出第三方框架的代码覆盖率。我正在开发一个测试应用程序Y,我在其中添加了框架X.测试应用程序旨在以某种方式开发,它尽可能地从框架X中运行尽可能多的功能。此时,我需要找出目前的代码覆盖率。

从框架X我只有公共头文件可用。 应用程序Y,只是一个典型的尝试所有演示应用程序,用户可以按下按钮并使用框架执行某些操作。 (因此它对框架X有很多调用。

据我所知,xcode上的代码覆盖通常是通过应用程序进行,然后进行单元测试,代码覆盖率检查测试中涵盖了多少应用程序方法。但在这种情况下,我希望从我的测试应用程序 - 到框架的覆盖范围。 (公共API调用)。

我尝试使用这篇文章:https://medium.com/xcblog/xccov-xcode-code-coverage-report-for-humans-466a4865aa18,但它只是从我的应用程序本身给出了所有方法/调用,而没有来自框架的调用。

同样来自于此 - 同样的事情。 https://medium.com/ios-os-x-development/xcode-and-code-coverage-c0bfa36192ba。但是应该有可能获得公共电话的报道,对吗?

在较旧的解决方案之间,我也读到了这一点http://nsbogan.com/mobile%20ci/2015/02/08/code-coverage-for-ios,并且我还需要在一点上清除__gcov_flush();所有覆盖范围。 (这仍未导致第三方框架的覆盖)。让我想一想 - 也许框架也需要用覆盖标志和flush进行编码?

示例框架是Sentry:

enter image description here

使用它的SentryEvent实例方法:

/**
* Init an SentryEvent will set all needed fields by default
* @param level SentrySeverity
* @return SentryEvent
*/
- (instancetype)initWithLevel:(enum SentrySeverity)level;

希望有人可以引导我朝着正确的方向前进。

0 个答案:

没有答案