【jest】HTMLMediaElement.prototype.loadでエラーになったとき

2022/10/18に公開

テストコードを実装していて以下のエラーに悩まされた

npm run testコマンド実行時に発生

エラー文抜粋
  console.error
    Error: Not implemented: HTMLMediaElement.prototype.load
        at module.exports 
  • 原因

何もないまっさらな状態でただコンポーネントを呼び出して、HTMLMediaElementのloatメソッドを呼び出そうとしていた。

windowオブジェクトにモックでloadのスタブを立てることで解消
※併せてeslintのno-empty-function対策も行った

対策後

hogehoge.test.tsx
  window.HTMLMediaElement.prototype.load = () => {/* lint - no empty functionを回避する為記載 */};

■参考にした記事
https://github.com/jsdom/jsdom/issues/2155#issuecomment-366703395

Discussion