window is undefined, vue-test-utils needs to be run in a browser environment 이슈 해결법

이슈

기존 프로젝트에 vue-test-utils v1, jest로 테스트 환경을 구축하는데 다음과 같은 에러를 만났다.

image

원인

이슈에 대해서 검색해보다가 아래 글을 찾았다.

https://github.com/vuejs/vue-test-utils/issues/999

jest27부터 성능 이슈 때문에 기본 테스트 환경값을 "jsdom"에서 "node"로 바꿨다고 한다. jest-environment-jsdom 또한 기본 종속성 트리에서 제거했다고 한다.

해결책

이를 해결하려면 jest-environment-jsdom 패키지를 설치하고 testEnvironment값을 지정해주면 된다.

npm i --save-dev jest-environment-jsdom
// jest.config.js
module.exports = {
 ...
 testEnvironment: 'jsdom'
}

Written by@Donghoon Song
사람들의 꿈을 이어주는 코멘토에서 일하고 있습니다.

InstagramGitHubTwitterLinkedIn