【问题标题】: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 会导致常规构建失败。

我该如何解决这个问题?

【问题讨论】:

    标签: react-native detox


    【解决方案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 中不起作用,有什么想法吗?
    猜你喜欢
    • 2018-10-06
    • 2020-02-21
    • 2019-06-19
    • 2019-12-08
    • 1970-01-01
    • 2018-05-08
    • 2018-06-17
    • 2018-05-11
    • 2019-07-19
    相关资源
    最近更新 更多