Покрытие кода на основной цели в Xcode 9.3 - PullRequest
0 голосов
/ 11 мая 2018

У меня есть существующий проект iOS с целями приложения и модульного тестирования.Покрытие кода при запуске модульных тестов было хорошо в Xcode 9.2.Но я просто не могу заставить его работать должным образом на Xcode 9.3

Я вошел в схему для модульных тестов и выбрал "Собрать покрытие кода для ..." в выборе "Test".

Если я выберу «все цели» для параметра покрытия кода сбора, он генерирует покрытие для всех целей, кроме основного приложения - для встроенных платформ, для платформ, представленных Coocapods, а также для самих тестовых файлов

Если выбрать «некоторые цели» и, в частности, выбрать основную цель приложения, тогда абсолютно не будут создаваться данные покрытия.

Я не уверен, какая настройка неверна в моей схеме.Я также пробовал не запускать тесты из схемы модульных тестов, а также из основной целевой схемы (с тестированием, запускающим схему модульных тестов), но не повезло.Ищите указатели на то, что может быть не так.

1 Ответ

0 голосов
/ 11 мая 2018

Оказывается, что SWIFT_OPTIMIZATION_LEVEL (уровень оптимизации) был изменен для оптимизации скорости [-O] в конфигурации отладки. Я не помню, забыл ли я вернуть его после заполнения различными настройками сборки, или что-то пошло не так при переносе проекта. Но, вернув его назад, No Optimization [-Onone] исправила проблему для меня

...