使用文件扩展名 e2e.js 进行排毒模拟
Posted
技术标签:
【中文标题】使用文件扩展名 e2e.js 进行排毒模拟【英文标题】:Detox mocking using file extension e2e.js 【发布时间】:2018-10-06 12:07:29 【问题描述】:我使用 Detox 作为 React Native 应用程序的端到端测试框架。我想模拟 API 请求的结果,以减少测试的脆弱性和时间。
根据documentation,我应该可以让 Metro 使用文件扩展名 e2e.js 覆盖一个模块。
我无法让这个工作,我不完全确定为什么。大多数文档和现有问题都与使用 react-native-repackager 有关,但从 RN 0.55.0 开始,不再需要。
任何帮助/想法将不胜感激!
编辑:
RN_SRC_EXT=e2e.js react-native start
工作正常
RN_SRC_EXT=e2e.js xcodebuild -project <other params>
作为 detox 构建脚本,detox test -c ios.sim.release
不起作用
【问题讨论】:
您能分享您的 CLI 配置文件吗?我无法完成这项工作。rn-cli.config.js
module.exports = getSourceExts: () => process.env.RN_SRC_EXT ? process.env.RN_SRC_EXT.split(',') : [], ;
@milo
能否分享一下你的 Api.e2e.js 看看你是如何处理 api 调用的?
Api.e2e.js 只是导出了与 Api.js 相同的函数,除了它们只会返回解析为我们模拟输出的承诺。我们不再使用它,我可能会建议使用类似 nock 的东西来更真实地模拟 api 调用
我在 react-native 0.61.5 中有这个问题!!有什么想法吗?
【参考方案1】:
rm -rf ios/build
必须清除我以前的构建缓存和文件,然后它才起作用:)
【讨论】:
【参考方案2】:对我来说,binaryPath
和实际的二进制路径不匹配。
【讨论】:
以上是关于使用文件扩展名 e2e.js 进行排毒模拟的主要内容,如果未能解决你的问题,请参考以下文章