エラー内容
以下のようにコードを書いていたのですが、ReferenceError: Element is not defined
というエラーに遭遇していました。
...
Element.prototype.scrollIntoView = jest.fn();
...
原因
色々と調べたところ、テスト環境の設定が誤っていました。
Webアプリの場合、テスト環境は jsdom
を選択すべきですが、デフォルトの node
設定のままでした。
ElementはDOM要素なので、Node.js環境には存在しません。
jsdomはテスト環境等で動く、仮想のDOMみたいなもので、DOM要素が使用可能になります。
変更箇所
testEnvironment
を jsdom
に指定すると、無事エラー解消しました。
// jest.config.js
module.exports = {
...
testEnvironment: 'jsdom'
...
}