DetoxRuntimeError:Detox实例尚未初始化

时间:2020-10-22 15:22:02

标签: ios react-native detox

在更新到react-native 0.63.3和xcode 12.0.1之后,测试不再起作用。首先有一些问题排毒,但解决了。现在出现了此错误,我无法继续进行下去:

DetoxRuntimeError: Detox instance has not been initialized
HINT: Make sure to call detox.init() before your test begins

detox.init()被调用,我可以在日志中看到它。

这是我的init.js

import { device } from 'detox';

const detox = require('detox');

const config = require('../package.json').detox;
const adapter = require('detox/runners/jest/adapter');
const specReporter = require('detox/runners/jest/specReporter');
const assignReporter = require('detox/runners/jest/assignReporter');

jest.setTimeout(180000);

jasmine.getEnv().addReporter(adapter);

jasmine.getEnv().addReporter(specReporter);

jasmine.getEnv().addReporter(assignReporter);

beforeAll(async () => {
  await detox.init(config, { launchApp: false });
  const permissions = {
    notifications: 'NO',
    camera: 'NO',
  };
  await device.launchApp({ permissions });
});

beforeEach(async () => {
  await adapter.beforeEach();
});

afterAll(async () => {
  await adapter.afterAll();
  await detox.cleanup();
});

我的环境:

本机:0.63.3排毒:17.10.3 xcode:12.0.1 iOS:14.0

在ios.sim.debug上运行

1 个答案:

答案 0 :(得分:0)

经过长时间的搜索,我发现实际的测试在项目的子模块/子仓库中。这些测试是从应用根目录级别触发的。在更新之前,即使这些测试也已正确触发。现在,它们只有在我将它们从子模块级别移至应用程序根级别时才起作用