Невозможно провести параллельное тестирование с помощью Detox и Jest - PullRequest
0 голосов
/ 14 апреля 2020

Я видел похожие вопросы о переполнении стека, но я не чувствую, что у нас возникла та же проблема, и это был один год для последнего вопроса без ответов.

Я следовал документации и все мои тесты работают нормально, но когда я открываю 4 симулятора, чтобы попробовать параллельное тестирование, реагирует только один из них.

пакет. 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"
  }
}

тесты / детокс / 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

Зависимости

  • MacOS catalina
  • xed версия 11.4
  • Детокс: ^ 16.0.2
  • шут: ^ 24.9.0
  • ts-шут: ^ 24.1.0
...