Проблема с Detox (реагирует на себя), работающим на Azure DevOps - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть несколько интеграционных тестов, использующих Detox для React Native, и они отлично работают, используя конфигурацию Release на моем локальном компьютере.

Однако, когда я попытался настроить ту же конфигурацию на Azure DevOps конвейер, похоже, что тесты не проходят.

Похоже, что Metro Bundler пытается запустить в новом окне терминала, но, поскольку это Azure Pipeline VM, он застревает? Тогда тесты не проходят. Поскольку это релизная версия, может быть, есть способ заблокировать это событие? Релизная версия в любом случае не требует, чтобы пакет работал.

Моя команда детоксикации:

detox build --configuration ios.sim.release

Моя конфигурация детоксикации:

 "ios.sim.release": {
        "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/raio.app",
        "build": "RN_SRC_EXT=e2e.js xcodebuild -workspace ios/raio.xcworkspace -scheme raio -configuration Release -sdk iphonesimulator -derivedDataPath ios/build",
        "type": "ios.simulator",
        "device": {
          "type": "iPhone 11 Pro"
        }
      }

Дополнительный вопрос: Кто-нибудь знает, как запуск этой строки xcodebuild в терминале заставляет запускаться Metro-компоновщик? Есть ли какая-либо пользовательская фаза сборки, добавленная в xcode для реакции нативного, которая запускает ее?

1 Ответ

1 голос
/ 04 февраля 2020

Не уверен, что описанный вами результат выглядит следующим образом:

enter image description here

Это ограничение при использовании агента Hosted MacOS, запущенного с конвейером.

Этот демон ( Metro bundler ) запускается в отдельном терминале windows нуждается в интерактивном режиме, но Hosted MacOS agents работает как служба, Так что не интерактивный режим, это может быть одной из причин, почему он не работает.

Также до сих пор мы не расширяли функцию на Hosted MacOS agents, чтобы поддерживать запуск этого демона в отдельном терминале через конвейер сборки и поддерживать его в качестве фонового процесса.

Вам лучше настроить self Ma c -агент , чтобы иметь полный контроль над средой машины.

...