Сценарий
Я пытаюсь протестировать приложение для Android для реактивного проекта с использованием детоксикации.При запуске приложения на устройстве или симуляторе за пределами детоксикации все работает.
После генерации сборки detox, когда я запускаю команду detox test, приложение успешно устанавливается и открывается на симуляторе.Когда device.reloadReactNative
вызывается через beforeEach
в тестах, приложение вылетает с ошибкой, описанной ниже.Я помещаю тестовый файл и соответствующий подробный вывод adb logcat в gist здесь .
По какой-то причине AppRegistry.js незагружается, в противном случае модуль должен быть известен (см. Ошибка).
Чтобы обернуть это:
- сборка и выполнение приложения работают вне детоксикации (ios + android)
- сборка детоксикации (ios + android)
- Детокс-тесты работают на ios
- , при запуске детокс-тестов на Android AppRegistry отсутствует после вызова
reloadReactNative
.Почему?
Env
- реагировать-нативный-Cli: 1,3,0
- реагировать-нативный: 0,55,3
- реагировать-национальная навигация: 1.1.457
- Детокс-сервер: 7.0.0
- Детокс: 7.3.7
- OSX: 10.13.4
- XCode: 9.2
Команда
detox test --configuration android.emu.release --cleanup -l verbose
Ошибка
INSTRUMENTATION_RESULT: longMsg = com.facebook.react.common.JavascriptException: Модуль AppRegistry не являетсязарегистрированный вызываемый модуль (вызывающий runApplication)
Выдается здесь , поскольку AppRegistry
не зарегистрирован в списке модулей MessageQueue.