react-native - ios 中的排毒测试失败 - 中止 detox.init() 执行
问题描述
尝试为示例反应本机应用程序运行基本的 detox e2e。我正在关注这个博客。
但是 stepdetox test
不运行测试。它只是挂在模拟器中(在 detox 初始化阶段),并且由于超时而失败。
有谁知道如何解决它?或者有人有任何有效的排毒样本吗?
Detox、Node、Device、Xcode 和 macOS 版本
detox 16.2.0 节点 v10.16.0 macOS 10.13.6 High Sierra Xcode 版本 10.1
错误:
detox test
detox[89159] INFO: [test.js] configuration="ios.release" reportSpecs=true useCustomLogger=true DETOX_START_TIMESTAMP=1586928640139 node_modules/.bin/jest --config e2e/config.json '--testNamePattern=^((?!:android:).)*$' --maxWorkers 1 "e2e"
detox[89160] INFO: [DetoxServer.js] server listening on localhost:57696...
detox[89160] INFO: [AppleSimUtils.js] org.reactjs.native.example.testAM launched. To watch simulator logs, run:
/usr/bin/xcrun simctl spawn 52AC48F5-EC9A-4423-8947-11EB05E187E7 log stream --level debug --style compact --predicate 'process == "testAM"'
detox[89160] INFO: Example: should have "Step One" section
detox[89160] ERROR: [DetoxExportWrapper.js/DETOX_INIT_ERROR]
{ DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
at Detox.[_assertNoPendingInit] (/Users/test/dev/DetoxE2Etest/testAM/node_modules/detox/src/Detox.js:197:9)
at Detox.beforeEach (/Users/test/dev/DetoxE2Etest/testAM/node_modules/detox/src/Detox.js:105:37)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (/Users/test/dev/DetoxE2Etest/testAM/node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (/Users/test/dev/DetoxE2Etest/testAM/node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22) name: 'DetoxRuntimeError' }
detox[89160] WARN: [Client.js/PENDING_REQUESTS] App has not responded to the network requests below:
(id = -1000) isReady: {}
Unresponded network requests might result in timeout errors in Detox tests.
detox[89160] INFO: Example: should have "Step One" section [FAIL]
detox[89160] INFO: Example: should have "See Your Changes" section
detox[89160] INFO: Example: should have "See Your Changes" section [FAIL]
FAIL e2e/firstTest.spec.js (301.625s)
Example
✕ should have "Step One" section (20ms)
✕ should have "See Your Changes" section (3ms)
● Example › should have "Step One" section
Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.Error: Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.
at mapper (../node_modules/jest-jasmine2/build/queueRunner.js:27:45)
● Example › should have "Step One" section
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
at Detox.[_assertNoPendingInit] (../node_modules/detox/src/Detox.js:197:9)
at Detox.beforeEach (../node_modules/detox/src/Detox.js:105:37)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (../node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (../node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22)
● Example › should have "Step One" section
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
at Detox.[_assertNoPendingInit] (../node_modules/detox/src/Detox.js:197:9)
at Detox.beforeEach (../node_modules/detox/src/Detox.js:105:37)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (../node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (../node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22)
● Example › should have "Step One" section
DetoxRuntimeError: Detox instance has not been initialized
HINT: There was an error on attempt to call detox.init()
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
1 | describe('Example', () => {
2 | beforeEach(async () => {
> 3 | await device.reloadReactNative();
| ^
4 | });
5 |
6 | it('should have "Step One" section', async () => {
at Detox.[_assertNoPendingInit] (../node_modules/detox/src/Detox.js:197:9)
at Detox.beforeEach (../node_modules/detox/src/Detox.js:105:37)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (../node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (../node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22)
at MissingDetox.throwError (../node_modules/detox/src/utils/MissingDetox.js:67:11)
at device (../node_modules/detox/src/utils/MissingDetox.js:46:16)
at _callee$ (firstTest.spec.js:3:11)
at tryCatch (../node_modules/regenerator-runtime/runtime.js:45:40)
at Generator.invoke [as _invoke] (../node_modules/regenerator-runtime/runtime.js:274:22)
at Generator.prototype.(anonymous function) [as next] (../node_modules/regenerator-runtime/runtime.js:97:21)
at tryCatch (../node_modules/regenerator-runtime/runtime.js:45:40)
at invoke (../node_modules/regenerator-runtime/runtime.js:135:20)
at ../node_modules/regenerator-runtime/runtime.js:170:11
at callInvokeWithMethodAndArg (../node_modules/regenerator-runtime/runtime.js:169:16)
at AsyncIterator.enqueue (../node_modules/regenerator-runtime/runtime.js:192:13)
at AsyncIterator.prototype.(anonymous function) [as next] (../node_modules/regenerator-runtime/runtime.js:97:21)
at Object.exports.async (../node_modules/regenerator-runtime/runtime.js:219:14)
at Object._callee (firstTest.spec.js:2:14)
● Example › should have "Step One" section
DetoxRuntimeError: Detox instance has not been initialized
HINT: There was an error on attempt to call detox.init()
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
4 | });
5 |
> 6 | it('should have "Step One" section', async () => {
| ^
7 | await expect(element(by.text('Step One'))).toBeVisible();
8 | });
9 |
at Detox.[_assertNoPendingInit] (../node_modules/detox/src/Detox.js:197:9)
at Detox.beforeEach (../node_modules/detox/src/Detox.js:105:37)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (../node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (../node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22)
at MissingDetox.throwError (../node_modules/detox/src/utils/MissingDetox.js:67:11)
at get (../node_modules/detox/src/utils/MissingDetox.js:46:16)
at _callee2$ (firstTest.spec.js:6:40)
at tryCatch (../node_modules/regenerator-runtime/runtime.js:45:40)
at Generator.invoke [as _invoke] (../node_modules/regenerator-runtime/runtime.js:274:22)
at Generator.prototype.(anonymous function) [as next] (../node_modules/regenerator-runtime/runtime.js:97:21)
at tryCatch (../node_modules/regenerator-runtime/runtime.js:45:40)
at invoke (../node_modules/regenerator-runtime/runtime.js:135:20)
at ../node_modules/regenerator-runtime/runtime.js:170:11
at callInvokeWithMethodAndArg (../node_modules/regenerator-runtime/runtime.js:169:16)
at AsyncIterator.enqueue (../node_modules/regenerator-runtime/runtime.js:192:13)
at AsyncIterator.prototype.(anonymous function) [as next] (../node_modules/regenerator-runtime/runtime.js:97:21)
at Object.exports.async (../node_modules/regenerator-runtime/runtime.js:219:14)
at Object._callee2 (firstTest.spec.js:6:40)
● Example › should have "See Your Changes" section
Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.Error: Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.
at mapper (../node_modules/jest-jasmine2/build/queueRunner.js:27:45)
● Example › should have "See Your Changes" section
DetoxRuntimeError: Detox instance has not been initialized
HINT: There was an error on attempt to call detox.init()
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
at Detox.[_assertNoPendingInit] (../node_modules/detox/src/Detox.js:197:9)
at Detox.beforeEach (../node_modules/detox/src/Detox.js:105:37)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (../node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (../node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22)
at MissingDetox.throwError (../node_modules/detox/src/utils/MissingDetox.js:67:11)
at MissingDetox._defineRequiredProperty (../node_modules/detox/src/utils/MissingDetox.js:8:71)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (../node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (../node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22)
● Example › should have "See Your Changes" section
DetoxRuntimeError: Detox instance has not been initialized
HINT: There was an error on attempt to call detox.init()
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
1 | describe('Example', () => {
2 | beforeEach(async () => {
> 3 | await device.reloadReactNative();
| ^
4 | });
5 |
6 | it('should have "Step One" section', async () => {
at Detox.[_assertNoPendingInit] (../node_modules/detox/src/Detox.js:197:9)
at Detox.beforeEach (../node_modules/detox/src/Detox.js:105:37)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (../node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (../node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22)
at MissingDetox.throwError (../node_modules/detox/src/utils/MissingDetox.js:67:11)
at device (../node_modules/detox/src/utils/MissingDetox.js:46:16)
at _callee$ (firstTest.spec.js:3:11)
at tryCatch (../node_modules/regenerator-runtime/runtime.js:45:40)
at Generator.invoke [as _invoke] (../node_modules/regenerator-runtime/runtime.js:274:22)
at Generator.prototype.(anonymous function) [as next] (../node_modules/regenerator-runtime/runtime.js:97:21)
at tryCatch (../node_modules/regenerator-runtime/runtime.js:45:40)
at invoke (../node_modules/regenerator-runtime/runtime.js:135:20)
at ../node_modules/regenerator-runtime/runtime.js:170:11
at callInvokeWithMethodAndArg (../node_modules/regenerator-runtime/runtime.js:169:16)
at AsyncIterator.enqueue (../node_modules/regenerator-runtime/runtime.js:192:13)
at AsyncIterator.prototype.(anonymous function) [as next] (../node_modules/regenerator-runtime/runtime.js:97:21)
at Object.exports.async (../node_modules/regenerator-runtime/runtime.js:219:14)
at Object._callee (firstTest.spec.js:2:14)
● Example › should have "See Your Changes" section
DetoxRuntimeError: Detox instance has not been initialized
HINT: There was an error on attempt to call detox.init()
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
8 | });
9 |
> 10 | it('should have "See Your Changes" section', async () => {
| ^
11 | await expect(element(by.text('See Your Changes'))).toBeVisible();
12 | });
13 | });
at Detox.[_assertNoPendingInit] (../node_modules/detox/src/Detox.js:197:9)
at Detox.beforeEach (../node_modules/detox/src/Detox.js:105:37)
at DetoxExportWrapper.(anonymous function).args [as beforeEach] (../node_modules/detox/src/DetoxExportWrapper.js:63:32)
at DetoxAdapterImpl.beforeEach (../node_modules/detox/runners/jest/DetoxAdapterImpl.js:17:22)
at MissingDetox.throwError (../node_modules/detox/src/utils/MissingDetox.js:67:11)
at get (../node_modules/detox/src/utils/MissingDetox.js:46:16)
at _callee3$ (firstTest.spec.js:10:48)
at tryCatch (../node_modules/regenerator-runtime/runtime.js:45:40)
at Generator.invoke [as _invoke] (../node_modules/regenerator-runtime/runtime.js:274:22)
at Generator.prototype.(anonymous function) [as next] (../node_modules/regenerator-runtime/runtime.js:97:21)
at tryCatch (../node_modules/regenerator-runtime/runtime.js:45:40)
at invoke (../node_modules/regenerator-runtime/runtime.js:135:20)
at ../node_modules/regenerator-runtime/runtime.js:170:11
at callInvokeWithMethodAndArg (../node_modules/regenerator-runtime/runtime.js:169:16)
at AsyncIterator.enqueue (../node_modules/regenerator-runtime/runtime.js:192:13)
at AsyncIterator.prototype.(anonymous function) [as next] (../node_modules/regenerator-runtime/runtime.js:97:21)
at Object.exports.async (../node_modules/regenerator-runtime/runtime.js:219:14)
at Object._callee3 (firstTest.spec.js:10:48)
detox[89159] ERROR: [cli.js] Error: Command failed: node_modules/.bin/jest --config e2e/config.json '--testNamePattern=^((?!:android:).)*$' --maxWorkers 1 "e2e"
解决方案
推荐阅读
- html - 粘性导航栏上的元素
- javascript - 单击时删除组件反应
- c++ - TensorFlow C API 的 TF_SessionRun 无法运行在另一个成员函数中创建的会话
- angular - 防止 cdkDropList 中的项目移动/移动 - Angular Material
- java - 如何解决此错误?线程“main”java.util.NoSuchElementException 中的异常
- react-native - 从组件访问导航
- r - 如何在矩阵中找到特定给定值的行和列?
- javascript - 如何使用 Typescript 全局访问模块?
- console - 它允许通过谷歌购买在华为商店发布应用程序吗?
- python - 具有重复组名的正则表达式