我输入: npm test 我得到的结果是: 值得注意的是,在BootScene.test.js文件中,import语句可以正常工作,但在导入的文件中无法正常工作。 我关注了在Jest下无法正常工作的import语句。因此,我认为这可能与jest使用的Ecma Script版本有关。所以我尝试了这个解决方案,但错误仍然存在。 这个 是本问题的存储库/分支。 当我输入npm start时,一切都流畅无误,没有错误。
出现错误的原因是jestdom无法添加我们所需的canvas。对我来说,这是因为我在应用程序中使用了lottiefiles。 以下是我如何修复我的react应用程序的方法。 安装jest-canvas-mock如下。 npm i jest-canvas-mock 然后进入设置文件,例如 setup-tests.js 并像下面这样导入 jest-canvas。import "jest-canvas-mock"; 现在运行测试,您不应再收到任何错误。
phaser
模块内(意味着它已被导入),正如您从调用堆栈中所看到的那样。试试谷歌搜索“phaser Cannot set property fillStyle of null”,您将找到几个 GitHub 问题指向安装canvas-prebuilt
和/或在其他导入之前安装并要求jest-canvas-mock
的解决方案。 - CherryDT