🖼️
jsdomでImage.prototype.onloadを動かす
jest環境などでjsdomを使っていると、Image.prototype.src
にbase64
な画像を食わせたときにImage.prototype.onload
が発火されずテストがTimeoutしてしまう。
結果としてこの対応がうまくいった。
canvas
パッケージを追加して、
yarn add -D canvas
jest.config.js
に設定追加。
module.exports = {
...etc,
testEnvironmentOptions: { resources: 'usable' },
}
関連しそうなパッケージのバージョンスナップショット。
{
"babel-jest": "^26.2.2",
"canvas": "^2.6.1",
"jest": "^26.2.2",
"jsdom": "^16.4.0",
"ts-jest": "^26.1.4",
"typescript": "^4.1.2"
}
Discussion