我正在使用 detox 测试我的 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"
}
}
}
问题是:如何配置 detox 以*e2e.js
在测试中使用文件而不RN_SRC_EXT=e2e.js react-native run-android
在开始测试之前运行?
我试过了
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
测试包中的文件