Как целевые объекты iOS Unit / Application-Test связываются с классами из своего хост-приложения? - PullRequest
0 голосов
/ 07 ноября 2018

В настоящее время я пытаюсь добавить модульные тесты (точнее, прикладные тесты) в мое приложение (довольно старый проект ... комментарий говорит о iOS 2.0) и всегда сталкиваюсь с undefined symbols for architecture, когда пытаюсь протестировать класс, который находится в моем hostapp. Поскольку очевидные исправления еще не сработали, я хочу глубоко понять весь процесс. Было бы очень признательно, если бы кто-то пролил немного света:)

Из того, что я собрал до сих пор:

  • Для целей модульных тестов требуется приложение хоста. Это указано в "TEST_HOST". Кроме того, он также указан в BUNDLE_LOADER.

  • Для проверки необходимо указать символы. Таким образом, «символы отладки во время копирования» должны быть NO.

  • Необходимо включить тестирование Taget для проверки «Включить тестируемость» = ДА

  • Некоторым людям для обработки после развертывания необходимо установить значение NO

  • В тестовой цели hostapp должен "разрешить тестирование API хост-приложений"

Когда компоновщик связывает тестовые файлы, он ищет где-то (где именно указан этот путь) объектные файлы и символы из хост-приложения. Затем, после успешного соединения, он развертывает «плагин» модульного теста в папку плагинов приложений и начинает тестирование.

Как видите, это довольно грубое понимание. Так что, если бы вы могли добавить детали (хотя бы незначительные), я был бы очень благодарен.

...