我在堆栈溢出上看到了类似的问题,但我不觉得我们有同样的问题,last question已经一年没有答案了。
我遵循了文档,我的所有测试都很好,但是当我打开4个模拟器来尝试并行测试时,只有一个是反应的。
package.json
{
...
"detox": {
"configurations": {
"ios.sim.debug": {
"binaryPath": "ios/build/AppName/Build/Products/Debug-iphonesimulator/AppName.app",
"build": "xcodebuild -project ios/AppName.xcodeproj -scheme AppName -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"type": "ios.simulator",
"device": {
"type": "iPhone 11"
}
}
},
"test-runner": "jest --detectOpenHandles --verbose",
"runner-config": "tests/detox/jest.config.js"
}
}测试/detox/jest.config.js
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
setupFilesAfterEnv: ['./init.ts']
};init.ts
import { cleanup, init } from 'detox';
const adapter = require('detox/runners/jest/adapter');
const config = require('../../package.json').detox;
jest.setTimeout(90000);
jasmine.getEnv().addReporter(adapter);
beforeAll(async () => {
await init(config, { initGlobals: false });
}, 90000);
afterAll(async () => {
await adapter.afterAll();
await cleanup();
});下面是我用来启动测试的命令,在运行了4个IOS模拟器并准备好之后
detox test -l warn -w 4 ./path-to-all-tests
依赖关系
^16.0.2
^24.1.0
发布于 2022-04-13 22:23:31
-侦测synchronously使测试同步运行。
来自滑稽的医生:
--检测
尝试收集和打印打开的句柄,防止Jest干净地离开。在您需要使用--forceExit以便Jest退出可能跟踪原因的情况下使用此方法。这意味着--runInBand,使测试按顺序运行。使用async_hooks实现。此选项有很大的性能损失,只应用于调试。
您必须移除它才能并行运行测试。
https://stackoverflow.com/questions/61204229
复制相似问题