Detox 测试分配给 Undefined,并跳过所有 e2e
Detox tests are assigned to Undefined, and all e2e are skipped
- 我在一个新的
react-native init
项目上安装了 jest 和 detox。
- 按照排毒文档安装 jest 和 jest-circus
- 设置iOS构建和测试配置
- 在新版本中始终出现以下错误
我的.detoxrc.json 文件:
{
"testRunner": "jest",
"runnerConfig": "e2e/config.json",
"configurations": {
"ios": {
"type": "ios.simulator",
"build": "xcodebuild -workspace ios/rndetox.xcworkspace -scheme rndetox -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/rndetox.app",
"device": {
"type": "iPhone 11"
}
},
"android": {
"type": "android.emulator",
"binaryPath": "SPECIFY_PATH_TO_YOUR_APP_BINARY",
"device": {
"avdName": "Pixel_2_API_29"
}
}
}
}
排毒config.json
{
"testEnvironment": "./environment",
"testRunner": "jest-circus/runner",
"testTimeout": 120000,
"testRegex": "\.e2e\.js$",
"reporters": ["detox/runners/jest/streamlineReporter"],
"verbose": true
}
和e2e/environment.js
const {
DetoxCircusEnvironment,
SpecReporter,
WorkerAssignReporter,
} = require('detox/runners/jest-circus');
class CustomDetoxEnvironment extends DetoxCircusEnvironment {
constructor(config) {
super(config);
// Can be safely removed, if you are content with the default value (=300000ms)
this.initTimeout = 300000;
// This takes care of generating status logs on a per-spec basis. By default, Jest only reports at file-level.
// This is strictly optional.
this.registerListeners({
SpecReporter,
WorkerAssignReporter,
});
}
}
module.exports = CustomDetoxEnvironment;
我试过包含 init.js
和 detox.init
但同样的错误。
在我尝试此操作时,React Native 的新 0.63 版本尚不支持排毒。如果你在 0.62 上构建一个新项目应该没问题。不过,我不确定这是否已经修复!
- 我在一个新的
react-native init
项目上安装了 jest 和 detox。 - 按照排毒文档安装 jest 和 jest-circus
- 设置iOS构建和测试配置
- 在新版本中始终出现以下错误
我的.detoxrc.json 文件:
{
"testRunner": "jest",
"runnerConfig": "e2e/config.json",
"configurations": {
"ios": {
"type": "ios.simulator",
"build": "xcodebuild -workspace ios/rndetox.xcworkspace -scheme rndetox -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/rndetox.app",
"device": {
"type": "iPhone 11"
}
},
"android": {
"type": "android.emulator",
"binaryPath": "SPECIFY_PATH_TO_YOUR_APP_BINARY",
"device": {
"avdName": "Pixel_2_API_29"
}
}
}
}
排毒config.json
{
"testEnvironment": "./environment",
"testRunner": "jest-circus/runner",
"testTimeout": 120000,
"testRegex": "\.e2e\.js$",
"reporters": ["detox/runners/jest/streamlineReporter"],
"verbose": true
}
和e2e/environment.js
const {
DetoxCircusEnvironment,
SpecReporter,
WorkerAssignReporter,
} = require('detox/runners/jest-circus');
class CustomDetoxEnvironment extends DetoxCircusEnvironment {
constructor(config) {
super(config);
// Can be safely removed, if you are content with the default value (=300000ms)
this.initTimeout = 300000;
// This takes care of generating status logs on a per-spec basis. By default, Jest only reports at file-level.
// This is strictly optional.
this.registerListeners({
SpecReporter,
WorkerAssignReporter,
});
}
}
module.exports = CustomDetoxEnvironment;
我试过包含 init.js
和 detox.init
但同样的错误。
在我尝试此操作时,React Native 的新 0.63 版本尚不支持排毒。如果你在 0.62 上构建一个新项目应该没问题。不过,我不确定这是否已经修复!