首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Detox和Jest进行并行测试

无法使用Detox和Jest进行并行测试
EN

Stack Overflow用户
提问于 2020-04-14 09:10:18
回答 1查看 336关注 0票数 1

我在堆栈溢出上看到了类似的问题,但我不觉得我们有同样的问题,last question已经一年没有答案了。

我遵循了文档,我的所有测试都很好,但是当我打开4个模拟器来尝试并行测试时,只有一个是反应的。

package.json

代码语言:javascript
复制
{
 ...
  "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

代码语言:javascript
复制
module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  setupFilesAfterEnv: ['./init.ts']
};

init.ts

代码语言:javascript
复制
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

  • jest:^24.9.0

  • ts-jest:
  • MacOS catalina
  • xed 11.4
  • detox:

^24.1.0

EN

回答 1

Stack Overflow用户

发布于 2022-04-13 22:23:31

-侦测synchronously使测试同步运行。

来自滑稽的医生:

--检测

尝试收集和打印打开的句柄,防止Jest干净地离开。在您需要使用--forceExit以便Jest退出可能跟踪原因的情况下使用此方法。这意味着--runInBand,使测试按顺序运行。使用async_hooks实现。此选项有很大的性能损失,只应用于调试。

https://jestjs.io/docs/cli

您必须移除它才能并行运行测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61204229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档