相关疑难解决方法(0)

如何在Jest中为我的测试添加<canvas>支持?

在我的Jest单元测试中,我正在使用ColorPicker渲染一个组件.该ColorPicker组件创建一个canvas对象和2d上下文,但返回'undefined'会引发错误"Cannot set property 'fillStyle' of undefined"

if (typeof document == 'undefined') return null; // Dont Render On Server
var canvas = document.createElement('canvas'); 
canvas.width = canvas.height = size * 2;
var ctx = canvas.getContext('2d'); // returns 'undefined'
ctx.fillStyle = c1; // "Cannot set property 'fillStyle' of undefined"
Run Code Online (Sandbox Code Playgroud)

我遇到了麻烦,弄清楚为什么我无法获得二维背景.也许我的测试配置存在问题?

"jest": {
  "scriptPreprocessor": "<rootDir>/node_modules/babel-jest",
  "unmockedModulePathPatterns": [
    "<rootDir>/node_modules/react",
    "<rootDir>/node_modules/react-dom",
    "<rootDir>/node_modules/react-addons-test-utils",
    "<rootDir>/node_modules/react-tools"
  ],
  "moduleFileExtensions": [
    "jsx",
    "js",
    "json",
    "es6"
  ],
  "testFileExtensions": [
    "jsx"
  ],
  "collectCoverage": true …
Run Code Online (Sandbox Code Playgroud)

jsdom html5-canvas reactjs jestjs

17
推荐指数
4
解决办法
1万
查看次数

标签 统计

html5-canvas ×1

jestjs ×1

jsdom ×1

reactjs ×1