react-native - 在运行 e2e 测试之前如何不重建反应原生应用程序?
问题描述
我正在使用 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
测试包中的文件
解决方案
推荐阅读
- symfony4 - Symfony 4 访问树枝模板中的参数
- android - Google 使用 Awareness API 的时间围栏不可靠
- javascript - 在 Internet Explorer 中的 HTMLDivElement 对象上未定义“附加”
- php - PHP:从类/方法访问变量,两者都定义在同一个闭包中
- json - Grails 2.5.6 如何解析请求 JSON 并将其映射到 POGO?
- javascript - 下拉符号未出现在 Chrome 中
- android - 将一个号码添加到一个已经存在重复号码的列表中
- c - 多行 C' 分号背后的想法是什么?
- ios - 将 iPhone 连接到运行 OSX 的 libvirt 虚拟机
- mql4 - 从 metatrader4 向 python 中的电报机器人发送消息