Не удалось определить идентификатор пакета для тестового хоста xxxTest
У нас действительно есть проблемы с тем, чтобы заставить наш CI работать с Xcode. Мы сталкиваемся с проблемой Could not determine bundle identifier for xxxTest TEST_HOST: some path that does not exist
.
Что мы сделали до сих пор:
- на машине CI мы можем запускать все тесты на устройстве, но если мы запускаем его с фиксацией, CI действительно заканчивается этой ошибкой.
- у нас была эта проблема и на других машинах, когда мы пытались запустить тесты приложения. Мы исправили это, очистив машину и перезагрузив устройства.(Пришлось исправлять некоторые настройки схемы) не мы можем запустить все тесты но мы сталкиваемся с этим вопросом иногда без всякой причины.
- мы также дважды проверили схемы. Ведущее приложение устанавливается в каждой схеме тестов для самого приложения.
Наш проект имеет следующие цели:
- Приложение
- Модульные Тесты Приложений
- Тесты пользовательского интерфейса приложения
- AppeareanceKit (Модуль)
- Модульные Тесты AppeareanceKit
- Модели (Модуль)
- Модульный Тест Моделей
Найдено решение:
- Diabling тесты за исключением приложение UITest
- выполните тесты один раз
- включить все тесты
- запуск тестов
Вопрос:
- Что там происходит? Как мы можем предотвратить возникновение этой проблемы снова и снова?
Известные вопросы:
Xcode 8 Beta-Convert to Current Swift Syntax Failed: не удалось найти тестовый хост
2 ответа:
Таким образом, после долгих лет существования этой проблемы, мы могли бы найти правильный флажок, чтобы исправить эту проблему.
Это как-то странно звучит, но проблема заключалась в конфигурациях для сборки командной строки внутри настроек проекта.
Я предполагаю, что это происходит, потому что мы всегда тестируем конфигурацию отладки, и она была настроена на выпуск. Поэтому он сделал неправильную сборку для тестового хоста.
Это действительно устанавливает
defaultConfigurationName
внутри{projectname}.xcodeproject
.Пожалуйста прокомментируйте, если у вас есть еще какие-либо идеи по этому поводу.
В моем приложении я нашел решение.
Проблема, конечно, была в тестовой мишени. Я надеюсь, что это решение сработает и для вас. Перейдите к настройкам сборки тестового объекта.Поиск тестового хоста.
В моем случае этот testHost выглядел как
build/{buildConfigurationName}-iphoneos/{schemeName}.app/{appName}
Что неверно, поскольку фактический путь должен быть
build/{buildConfigurationName}-iphoneos/{schemeName}.app/{schemeName}
Таким образом, если у вас есть конфигурация сборки под названием Alpha, в вашем приложении под названием MyApp со схемой MyApp-Alpha путь тестового хоста должен быть
build/Alpha-iphoneos/MyApp-Alpha.app/MyApp-Alpha
Это было
build/Alpha-iphoneos/MyApp-Alpha.app/MyApp
Я надеюсь, что это может помочь... к сожалению, эта проблема возникает во многих случаях.