传递env文件到detox

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传递env文件到detox相关的知识,希望对你有一定的参考价值。

我想在我的react-native应用程序中运行detox测试时传递环境变量。

 "ios.sim.debug": {
    "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/myapp.app",
    "build": "export IS_DETOX=true && xcodebuild -workspace ios/myapp.xcworkspace -scheme my app -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
    "type": "ios.simulator",
    "device": {
      "type": "iPhone 11 Pro"
    }
  }

我已经安装了 react-native-config. 但是当我运行排毒测试时,JS中的变量IS_DETOX是未定义的。

谅谅

答案

我没有设置环境变量 export.

我所有的.env变量都存储在config文件夹中,我能够为不同的配置加载不同的环境文件。

iOS系统

"ios.sim.release": {
  "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/Clim8Invest.app",
  "build": "ENVFILE=config/.env.acceptance xcodebuild -workspace ios/Clim8Invest.xcworkspace -scheme Clim8Invest -configuration Release -sdk iphonesimulator -derivedDataPath ios/build",
  "type": "ios.simulator",
  "device": {
    "type": "iPhone 11"
  }
},

安卓系统

"android.emu.debug.e2e": {
  "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
  "build": "cd android && ENVFILE=../config/.env.e2e ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
  "type": "android.emulator",
  "device": {
    "avdName": "Nexus_5X_A"
  }
}
另一答案

谢谢 @Black !

在我这边,我最终使用了另一种解决方案,即使用 RN_SRC_EXT=e2e.js排毒嘲讽指南 所以,排毒构建使用的是来自于 MyConfig.e2e.js 文件而不是 MyConfig.js 档案

以上是关于传递env文件到detox的主要内容,如果未能解决你的问题,请参考以下文章

在Android中,如何将数据从类传递到相应的布局/片段文件?

完全下载文件时,将下载的文件从一个片段传递到另一个片段

将自定义启动参数传递给 detox

排毒模拟文件

将数据从底部工作表对话框片段传递到片段

如何将值从片段/活动传递到 xml?