排毒模拟文件
Posted
技术标签:
【中文标题】排毒模拟文件【英文标题】:Detox mocking files 【发布时间】:2019-04-02 13:46:59 【问题描述】:我正在使用 Detox 9.0.4 和 React-native 0.57.2,并且正在尝试模拟文件。
在他们的documentation 之后,我在运行构建时添加了RN_SRC_EXT=e2e.js
环境变量,并将getSourceExts: () => process.env.RN_SRC_EXT ? process.env.RN_SRC_EXT.split(',') : []
添加到我们的打包程序配置中(rn-cli.config.js
)。
在我们将使用更新后的 Metro Bundler 的 React-Native 升级到 0.57 之前,这一直很好,所以我相应地更改了 rn-cli.config.js
:
const blacklist = require('metro-config/src/defaults/blacklist');
module.exports =
resolver:
blacklistRE: blacklist([/react-native\/local-cli\/core\/__fixtures__.*/]),
sourceExts: process.env.RN_SRC_EXT ? process.env.RN_SRC_EXT.split(',') : []
;
但是sourceExts
会导致常规构建失败。
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:如果您不明确指定新语法似乎不会使用 JS 文件,因此解决方案是在每种情况下都添加它。
rn-cli.config.js
文件:
const blacklist = require('metro-config/src/defaults/blacklist');
module.exports =
resolver:
blacklistRE: blacklist([/react-native\/local-cli\/core\/__fixtures__.*/]),
sourceExts: process.env.RN_SRC_EXT ? process.env.RN_SRC_EXT.split(',') : []
;
当你传递 RN_SRC_EXT
变量时,在我的例子中是在 npm 命令中,我还传递了 'js' 作为第二个扩展名:
"test:e2e-build": "RN_SRC_EXT='e2e.js,js' detox build -c ios.sim.release"
【讨论】:
这个模拟配置在 react-native 0.61.5 中不起作用,有什么想法吗?以上是关于排毒模拟文件的主要内容,如果未能解决你的问题,请参考以下文章