-
Notifications
You must be signed in to change notification settings - Fork 1
enzyme setUp with jest
toyjhlee edited this page Nov 28, 2019
·
2 revisions
package.json 에 추가
- enzyme-adapter-react-16.3 사용 이유
- shallow().instance() 로 Component 의 내부 함수나 property 를 접근하지 못 해서
"dependencies": {
...
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.14.0",
"enzyme-adapter-react-16.3": "^1.7.2",
"enzyme-to-json": "^3.4.0",
"identity-obj-proxy": "^3.0.0"
}
setupTest.js 생성
- package.json 에서 설정(하단 참조)
import { configure } from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
configure({ adapter: new Adapter() })
mocks/fileMock.js 생성
- 이미지 관련 mock file 설정 package.json 에서 설정(하단 참조)
- 폴더 또는 파일명을 변경하면 하단의 jest 설정 시 변경하면 된다
module.exports = 'test-file-stub'
package.json 수정
- jest 사용 기준
"jest": {
"testPathIgnorePatterns": [
"<rootDir>/.docz/"
],
"setupFilesAfterEnv": [
"./setupTest.js" // 위에서 생성한 파일 경로 + 파일명
],
"moduleNameMapper": {
"^@src(.*)$": "<rootDir>/src/$1", // alias
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
"\\.(css|less)$": "identity-obj-proxy" // css module 사용 시 필요
}
},