✨
Textencoder Is Not Defined Jest
Jestを使用している際に、TextEncoder is not defined
というエラーが発生しました。
原因
Jestは、デフォルトではNode.js環境を使用してテストを実行します。
しかし、TextEncoder
と TextDecoder
はブラウザのWeb APIであり、Node.jsの標準ライブラリには含まれていません。
このため、Node.js環境ではTextEncoder
が定義されていないという、エラーが発生します。
解決方法
util
モジュールを使用する
Node.jsのutil
モジュールには、TextEncoder
とTextDecoder
が組み込まれいましたので、こちらをグローバルに設定しました。
// jest.setup.js
const { TextEncoder, TextDecoder } = require('util');
global.TextEncoder = TextEncoder;
global.TextDecoder = TextDecoder;
// jest.config.ts
setupFiles: ['<rootDir>/jest.setup.js'],
Discussion