Expo SDK36 + Detox - висит на перезагрузке приложения () - PullRequest
0 голосов
/ 21 февраля 2020

Детокс не работает с Expo SDK 36?

Отладка показывает, что он висит на await device.launchApp() в reloadApp() в помощниках детоксикации.

Я прошел через настройка выделена в: Можно ли на самом деле сделать тесты Detox / Jest с помощью приложения React Native, работающего с Expo?

Пример моего теста:

const { reloadApp } = require('detox-expo-helpers');

describe('Example', () => {
  beforeEach(async () => {
    await reloadApp();
  });

  it('should have welcome screen', async () => {
    await expect(element(by.id('welcome'))).toBeVisible();
  });
});

пакет. json

    "scripts": {
        "e2e": "detox test --configuration ios.sim",
    },
    "devDependencies": {
        "babel-eslint": "^10.0.3",
        "babel-preset-expo": "^7.0.0",
        "detox": "^15.2.2",
        "detox-expo-helpers": "^0.6.0",
        "eslint-config-airbnb": "^18.0.1",
        "eslint-config-prettier": "^6.7.0",
        "eslint-plugin-prettier": "^3.1.1",
        "expo-detox-hook": "^1.0.10",
        "jest-expo": "^35.0.0",
        "pusher-js-mock": "^0.2.0",
        "react-native-testing-library": "^1.12.0",
        "react-test-renderer": "^16.12.0"
    },
    "private": true,
    "detox": {
        "configurations": {
            "ios.sim": {
                "binaryPath": "bin/Exponent.app",
                "type": "ios.simulator",
                "name": "iPhone 11"
            }
        },
        "test-runner": "jest"
    }

Даже если я обойду обещание зависания через

    function timeout(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }
    beforeEach(async () => {
        reloadApp();
        await timeout(12000);
    });

Оно висит на await expect(element(by.id('welcome'))).toBeVisible();

Что я делаю не так?

...