React Native Detox 模拟文件

Posted

技术标签:

【中文标题】React Native Detox 模拟文件【英文标题】:React Native Detox mocking files 【发布时间】:2019-08-08 23:20:15 【问题描述】:

请有人告诉我模拟文件如何反应原生排毒测试?我关注this article

我正在使用 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 powershel 6)

$env:RN_SRC_EXT="e2e.ts";react-native start
react-native run-android

什么都没有,实际上没有任何改变/嘲笑

我也尝试构建并运行 detox

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

但也没有发生任何事情,我删除了所有 node_modules、android 构建文件夹但没有效果。

我错过了什么吗?

【问题讨论】:

【参考方案1】:

您的rn-cli.config.js 文件是正确的,但请尝试将其添加到您的排毒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

当你使用打字稿时,那么写

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

带有 ts 扩展名

【讨论】:

以上是关于React Native Detox 模拟文件的主要内容,如果未能解决你的问题,请参考以下文章

Bitrise 上的 Detox 无法在 Android 上运行 - React Native

React Native Detox - 运行特定的测试文件

设置 Wix/Detox - 运行他们的 react native 示例

React-Native 日历议程没有用于 Detox 的 testID

我可以使用 detox 测试框架来测试 react + react 原生应用吗?

Detox - 测试模式在 React Native 中的可见性