javascript - 开 Jest 导入语句 : 'TypeError: Cannot set property ' fillStyle' of null'

标签 javascript jestjs babeljs phaser-framework

我输入:

npm test
我得到:
enter image description here
有趣的是,import 语句在 BootScene.test.js 文件中有效,但在导入的文件中无效。
我专注于在 JEst 下不起作用的导入语句。所以我想这可能与开 Jest 使用的 Ecma Script 版本有关。所以我尝试了this解决方案,但错误仍然存​​在。
This是这个问题的 repo /分支。
当我输入 npm start .一切都快速流动,没有错误。

最佳答案

发生错误是因为 jestdom 无法添加我们需要做的 Canvas 。对我来说,发生这种情况是因为我在应用程序中使用了 lottiefiles。
这是我为我的 react 应用程序修复它的方法。
安装 jest-canvas-mock 如下。

 npm i jest-canvas-mock
然后转到 setup-tests.js 之类的设置文件并导入 jest-canvas,如下所示。
import "jest-canvas-mock";
现在运行测试,您应该不会再出现错误。

关于javascript - 开 Jest 导入语句 : 'TypeError: Cannot set property ' fillStyle' of null',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63219552/

相关文章:

reactjs - enzyme 无法通过构造函数选择器找到,但通过显示名称选择器成功找到

javascript - 使用 jest.js 拦截导航更改(或如何覆盖和恢复 location.href)

javascript - Babel 和 TypeScript 之间的主要区别是什么

jQuery 和 es6 导入 - 如何获取全局实例

javascript - Android 开发 - 在正常代码运行之前获取异步任务的结果

javascript - Phaser 将物理应用到 Phaser.Sprite (ES6) 的子类

javascript - 管理 django 中 js 库中的静态链接

angular - [Angular7][Jest] 如何测试 MergeMap?

Javascript 切换按钮,可更改 div 可见性并切换按钮文本

javascript - 使用 babel env 预设时,传播运算符出现语法错误