JavaScriptのテスティングフレームワークとして有名なjestですが、使っていると以下のようなエラーが起きることがあります。
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/en/configuration#testenvironment-string.
Consider using the "node" test environment.
jestではテストの実行するときの環境が、デフォルトでjsdom
になるのですが、テストファイルによっては上記のようなエラーに出くわします。
そこで、ファイルごとに環境を変えられたらいいのに
と思って調べていたところ、公式ドキュメントに載っていました。
以下がその方法です。
test.ts
/**
* @jest-environment jsdom
*/
test('use jsdom in this test file', () => {
const element = document.createElement('div');
expect(element).not.toBeNull();
});
ファイルの上部(多分どこでも大丈夫だと思いますが)に@jest-environment jsdom
や@jest-environment node
を追加することで、そのファイルのみ別の環境でテストできます!!