gpt4 book ai didi

react-native - 如何判断 Detox 正在运行测试?

转载 作者:行者123 更新时间:2023-12-03 14:36:43 24 4
gpt4 key购买 nike

我正在使用 Detox在我的 React Native 项目中运行端到端测试。我也在使用假装.js 来模拟我的 API 请求,我正在努力寻找一种方法来了解应用程序当前是否处于“测试”模式。

我正在传递一个 env 变量(并使用 babel-transform-inline-environment-variables )来判断我是否应该模拟请求,但这会中断 shim.js在我们的发布版本中。

有什么方法可以告诉 Detox 启动了应用程序并从 JS 内部运行测试?理想情况下,我正在寻找在测试时设置的某种变量或从命令行传递的东西( TESTING=true react-native start__TESTING__ )

最佳答案

尝试使用 react-native-config .这里还有一篇关于Managing Configuration in React Native的好文章使用 react-native-config。

我也在这里给出了答案animated-button-block-the-detox带有如何在测试期间使用 react-native-config 禁用循环动画​​的工作示例。

基本思想是为所有不同的构建环境(开发、生产、测试​​等)创建 .env 配置文件。这些包含您可以从 Javascript、Objective-C/Swift 或 Java 访问的配置变量。

然后指定在构建应用程序时使用哪个 .env 配置文件:

$ ENVFILE=.env.staging react-native run-ios # bash



这是 package.json 文件的一个示例,其中 detox 使用 .env 配置文件来构建应用程序。
"detox": {
"specs": "e2e",
"configurations": {
"ios.sim.release": {
"binaryPath": "ios/build/Build/Products/Release-iphonesimulator/example.app",
"build": "ENVFILE=.env.production export RCT_NO_LAUNCH_PACKAGER=true && xcodebuild -project ios/example.xcodeproj -scheme example -configuration Release -sdk iphonesimulator -derivedDataPath ios/build",
"type": "ios.simulator",
"name": "iPhone 5s, iOS 10.3"
},
"ios.sim.test": {
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/example.app",
"build": "ENVFILE=.env.testing xcodebuild -project ios/example.xcodeproj -scheme example -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build -arch x86_64",
"type": "ios.simulator",
"name": "iPhone 5s, iOS 10.3"
}
}
}

关于react-native - 如何判断 Detox 正在运行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47686303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com