【Jest】ReferenceError: Element is not defined

エラー

エラー内容

以下のようにコードを書いていたのですが、ReferenceError: Element is not defined というエラーに遭遇していました。


...

Element.prototype.scrollIntoView = jest.fn();

...

原因

色々と調べたところ、テスト環境の設定が誤っていました。

Webアプリの場合、テスト環境は jsdom を選択すべきですが、デフォルトの node 設定のままでした。

ElementはDOM要素なので、Node.js環境には存在しません。

jsdomはテスト環境等で動く、仮想のDOMみたいなもので、DOM要素が使用可能になります。

変更箇所

testEnvironmentjsdom に指定すると、無事エラー解消しました。

// jest.config.js
module.exports = {
    ...
    testEnvironment: 'jsdom'
    ...
}

タイトルとURLをコピーしました