Как не перестроить реагирующее нативное приложение перед запуском тестов e2e? - PullRequest
0 голосов
/ 01 июня 2018

Я использую детокс для тестирования моего приложения RN

У меня есть заглушка для входа в Facebook в таких тестах:

// js/actions/login.e2e.js

function fbAuth() {
  console.log('stubbed auth with Facebook');
}

module.exports = { fbAuth };

Когда я создаю свое приложение с RN_SRC_EXT=e2e.js react-native run-android, а затемзапустите тесты detox test -c android.emu.debug, он использует файл с заглушкой

Когда я создаю свое приложение с react-native run-android, а затем запускаю тесты, он использует не заглушку (реальный вход в систему с Facebook)

Мой детокс-конфиг выглядит следующим образом:

 "detox": {
    "configurations": {
      "android.emu.debug": {
        "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
        "build": "cd android && RN_SRC_EXT=e2e.js ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
        "type": "android.emulator",
        "name": "Android_Accelerated_Nougat"
      }
    }
  }

Вопрос в том, как настроить детокс для использования файлов *e2e.js в тестах без запуска RN_SRC_EXT=e2e.js react-native run-android до запуска тестов?

I 'мы пробовали

RN_SRC_EXT=e2e.js node_modules/.bin/mocha e2e --opts e2e/mocha.opts --configuration android.emu.debug --grep :ios: --invert

RN_SRC_EXT=e2e.js detox test -c android.emu.debug

но это не помогло

ОБНОВЛЕНИЕ:

На самом деле RN_SRC_EXT=e2e.js react-native run-android не помогает: мне нужно остановить процесс Metro и запустить RN_SRC_EXT=e2e.js react-native run-android, чтобы заставить RN использовать e2e.js файлы в тестовом комплекте

...