【发布时间】:2016-01-21 00:39:42
【问题描述】:
在我的Jest 单元测试中,我正在渲染一个带有ColorPicker 的组件。 ColorPicker 组件创建一个画布对象和 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"
我无法弄清楚为什么我无法获得 2d 上下文。也许我的测试配置有问题?
"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
}
【问题讨论】:
标签: reactjs html5-canvas jsdom jestjs