React Native Detox 模拟文件

4
请问有人能告诉我如何为React Native Detox测试编写模拟文件?我正在遵循这篇文章
我正在使用React Native版本0.57.7和Detox 9.1.2。
我在根目录下创建了rn-cli.config.js文件。
const defaultSourceExts = require('metro-config/src/defaults/defaults').sourceExts
module.exports = {
  resolver: { 
    sourceExts: process.env.RN_SRC_EXT
                ? process.env.RN_SRC_EXT.split(',').concat(defaultSourceExts)
                : defaultSourceExts
  }
};

我将创建一个带有e2e扩展名的模拟文件,与生产文件放在一起。 在此输入图像描述 然后,我使用以下命令运行Metro(我正在使用Windows Powershell 6)。
$env:RN_SRC_EXT="e2e.ts";react-native start
react-native run-android

什么也没有改变/模拟

我也尝试构建和运行解毒器

cd android;$env:ENVFILE="../config/default/env";gradle assembleDebug assembleAndroidTest -DtestBuildType=debug;cd ..
detox test -c android.emu.debug.win

但是仍然没有任何变化,我已经删除了所有的node_modules和android build文件夹,但是没有效果。

我错过了什么吗?

1个回答

3

你的 rn-cli.config.js 文件是正确的,但请尝试在你的 detox e2e/config.json 中添加这个。

"testMatch": ["**/__tests__/**/*.js?(x)", "**/?(*.)(e2e).js?(x)"]

我的代码大概是这样的:
{
    "setupFilesAfterEnv": ["./init.js"],
    "testEnvironment": "node",
    "reporters": ["detox/runners/jest/streamlineReporter"],
    "testMatch": ["**/__tests__/**/*.js?(x)", "**/?(*.)(e2e).js?(x)"],
    "verbose": true
}

我正在使用 react-native 版本 0.59.8 和 detox 12.10.2。
由于您正在使用 TypeScript,请编写
"testMatch": ["**/__tests__/**/*.ts?(x)", "**/?(*.)(e2e).ts?(x)"],

使用 ts 扩展名


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接