【发布时间】:2022-01-11 23:34:30
【问题描述】:
我已尝试研究与此错误消息类似的其他主题(例如来自here、here、here 等):
TypeError: 无法读取 null 的属性“createEvent”
在我们的测试套件中,我们有很多模拟网络调用作为单个模拟层,但是有一个 throw new Error('unexpected URL') 处理丢失调用的处理程序。
此外,我已经验证了我的所有 ReactTesting findBy 查询都使用 async/await 语法正确声明。有时测试有效,有时失败。
真正令人好奇的是,错误仅在 Circle CI 中发生,在任何测试运行之前,它会根据错误消息调用堆栈显示:
#!/bin/bash -eo pipefail
yarn test:ci
yarn run v1.22.11
$ jest --ci --runInBand
/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:3905
var evt = document.createEvent('Event');
^
TypeError: Cannot read property 'createEvent' of null
at Object.invokeGuardedCallbackDev (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:3905:26)
at invokeGuardedCallback (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:4056:31)
at flushPassiveEffectsImpl (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:23543:11)
at unstable_runWithPriority (/home/circleci/project/node_modules/react-dom/node_modules/scheduler/cjs/scheduler.development.js:468:12)
at runWithPriority$1 (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:11276:10)
at flushPassiveEffects (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:23447:14)
at Object.<anonymous>.flushWork (/home/circleci/project/node_modules/react-dom/cjs/react-dom-test-utils.development.js:992:10)
at Immediate.<anonymous> (/home/circleci/project/node_modules/react-dom/cjs/react-dom-test-utils.development.js:1003:11)
at processImmediate (internal/timers.js:464:21)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Exited with code exit status 1
CircleCI received exit code 1
我没有在本地看到这个错误,即使运行与我的 Circle CI 命令相同的命令。
关于这个的任何想法,除了未处理
【问题讨论】:
-
也许你还需要检查所有的 api 是否在测试过程中除了 async/await 来进行 findBy 查询
标签: jestjs react-testing-library circleci