Итак, у меня уже есть существующий проект, и я пытаюсь создать несколько тестов пользовательского интерфейса, используя этот новый модный пакет тестирования пользовательского интерфейса, предоставляемый Apple. Проблема в том, что тестовая цель не имеет доступа к какой-либо внешней структуре (и мне нужно выполнить некоторую настройку с одной из них). Добавление фреймворка на этапах сборки и копирование пути поиска фреймворка от основной цели ничего не дает.
После дня просмотра я обнаружил только одну вещь, которая «делает вещи отчасти другими». Настроив Bundle Loader и Test Host на $ (BUILT_PRODUCTS_DIR) /App.app/App, я все еще не мог импортировать внешние фреймворки в test.m, но я мог импортировать классы, которые делают это для них себя. И все было бы хорошо и красиво, если бы это не сломало кое-что. Установив Bundle и Host сейчас, мой тест пользовательского интерфейса не может выполнить метод запуска:
[[[XCUIApplication alloc] init] launch];
Он вылетает с ошибкой: Ошибка утверждения: ошибка тестирования пользовательского интерфейса - состояние приложения все еще не прекращено.
В конце концов, я мог бы удалить метод запуска из настройки и запускать каждый тест вручную, поэтому он перезапускает приложение каждый раз перед выполнением, но это решение кажется неправильным (особенно для некоторых более крупных проектов). Кто-нибудь знает, как правильно решить эту проблему?