У меня довольно странная задача на руках.(Разработка приложения target-c на iOS)
Я хочу выяснить покрытие кода для стороннего фреймворка.Я работаю над тестовым приложением Y, к которому я добавил фреймворк X. Тестовое приложение должно быть разработано таким образом, чтобы оно реализовывало как можно больше функциональных возможностей из фреймворка X.На данный момент мне нужно выяснить, какое покрытие кода на данный момент.
Из фреймворка XI доступны только общедоступные заголовочные файлы.Приложение 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();
все покрытие в одной точке (что все еще не привело к покрытию сторонних платформЗаставляет меня задуматься - может быть, фреймворк также должен быть закодирован с флагами покрытия и сбросом?
Примером фреймворка будет Sentry:
![enter image description here](https://i.stack.imgur.com/S3X7T.png)
с его методом экземпляра SentryEvent:
/**
* Init an SentryEvent will set all needed fields by default
* @param level SentrySeverity
* @return SentryEvent
*/
- (instancetype)initWithLevel:(enum SentrySeverity)level;
Надеюсь, кто-то может привести меня в правильном направлении.