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

React Native Detox - Run specific test file

我正在 运行 使用 Detox (https://github.com/wix/Detox) 进行 e2e 测试,我想知道是否有办法通过 CLI 或一些配置文件。

目前我正在使用以下文件结构中的两个测试文件:

> e2e 
 config.json
 environment.js
 firstTest.js
 secondTest.js

我的 .detoxrc.json 文件如下:

{
 "testRunner": "jest",
 "runnerConfig": "e2e/config.json",
 "configurations": {
 "android.emu.debug": {
  "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
  "build":
    "cd android && sh gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
  "type": "android.emulator",
  "device": {
    "avdName": "Pixel_2_API_28"
  }
},
"android.emu.release": {
  "binaryPath": "android/app/build/outputs/apk/release/app-release.apk",
  "build": "cd android && sh gradlew assembleRelease assembleAndroidTest -DtestBuildType=release && 
   cd ..",
  "type": "android.emulator",
  "device": {
    "avdName": "Pixel_2_API_28"
  }
  }

 }
}

当我运行测试使用

detox test --configuration android.emu.debug

firstTest.js运行再secondTest.js运行就可以了

有时候你不想运行firstTest.js为了节省时间而只运行secondTest.js.

所以我的问题是:是否可以通过 detox CLI 或修改 .detoxrc.json 文件来控制 运行 哪个测试文件?或者通过其他方式?

我对像注释掉 firstTest.js 文件中的所有测试之类的虚拟黑客不感兴趣。

在 e2e 文件夹中你有 config.json 并且在配置里面你有 testRegex:

 "testRegex": "\.js\.js$"

如果您只想 运行 1 set/file 次测试,您可以在那里更改名称并提供文件名。 示例:

{
    "testEnvironment": "./environment",
    "testRunner": "jest-circus/runner",
    "testTimeout": 120000,
    "testRegex": "firstTest.js.js$",
    "reporters": ["detox/runners/jest/streamlineReporter"],
    "verbose": true

}

我明白你的意思了。在其他工具上,您可以添加标志。 这里陈述了一些 cli 标志,但 none 指向你想要的: https://github.com/wix/Detox/blob/master/docs/APIRef.DetoxCLI.md

您现在可以使用“-f 文件路径”标志从命令行执行此操作:

detox test --configuration ios -f e2e/signupTest.e2e.js