티스토리 뷰
[Jest doc 분석] jest.config.json doc 읽기(moduleDirectories, setupFiles, transform, babel-jest)
Riki 2022. 3. 18. 11:59글 읽기 전 주의사항
프로그래밍이 많이 부족하지만
열심히 공부하고 있습니다.
공부를 목적으로 글을 남기고 있으니
틀린 부분이 있더라도 너그럽게 봐주시길 바라겠습니다.
displayName
displayName [string, object]
default: undefined
테스트가 실행될 때 출력되는 이름입니다.
module.exports = {
displayName: 'CLIENT',
};
or
module.exports = {
displayName: {
name: 'CLIENT',
color: 'blue',
},
};
displayName을 'string' 형태로 쓸 수도 있지만,
객체 형태로도 입력 가능한데요.
객체에 'color'라는 값에 색깔을 입력하면
예를 들어 'blue'라고 입력하면 테스트가 출력될 때
입력한 `name`이 파란색으로 출력됩니다.
기본색은 하얀색입니다.
moduleDirectories
moduleDirectories [array<string>]
Default: ["node_modules"]
모듈의 위치 경로를 말합니다.
배열로 입력받고,
Default는 'node_modules'입니다.
'node_modules' 외에 사용하는 모듈이 있다면,
이 값을 설정해 주어야 합니다.
"moduleDirectories": ["node_modules", "bower_components",
moduleFileExtensions
moduleFileExtensions [array<string>]
Default: ["js", "jsx", "ts", "tsx", "json", "node"]
마찬가지로 배열로 입력받고
Default 값을 위와 같습니다.
Jest는 파일 확장자를 배열 왼쪽에서 오른쪽으로 검색하기에
프로젝트에서 자주 사용되는 확장자를 왼쪽에
적어주시는 것이 좋습니다.
예를 들어, 타입스크립트라고 하면
'ts'나 'tsx' 확장자를 앞에 적어주시는 것이 좋습니다.
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
modulePaths
modulePaths [array<string>]
Default: []
모듈의 경로를 입력하는 곳이며
배열을 값으로 받으며
기본값은 빈 배열입니다.
modulePaths: ['<rootDir>', '<rootDir>/..'],
❗rootDir
Default: Jest config file이 있는 경로 혹은 package.json이 있는 경로.
둘 다 존재하지 않는다면 현재 경로를 rootDir로 설정합니다.
프로젝트 구조에 따라 종종 src나 lib와 같은 다른 경로를
rootDir로 지정하고 싶다면 적어주시면 됩니다.
runner
runner [string]
Default: "jest-runner"
Jest의 test runner가 아닌
다른 runner 즉
jest-runner-eslint
jest-runner-mocha
jest-runner-tsc
jest-runner-prettier
위와 같은 runner를 사용할 경우
따로 입력해주어야 하는 항목입니다.
// eslint runner 예시
{
runner: 'jest-runner-eslint',
displayName: 'eslint',
testMatch: ['<rootDir>/test/**/*.test.js'],
}
setupFiles
setupFiles [array]
Default: []
테스트 환경을 구성하거나 설정하기 위해
일부 코드를 실행하는 모듈의 경로 목록입니다.
각 setupFile은 테스트 파일 당 한 번씩 실행됩니다.
모든 테스트는 자체 환경에서 실행되므로
이러한 스크립트는 테스트 코드 자체를 실행하기 직전에
테스트 환경에서 실행됩니다.
setupFiles: ['<rootDir>/test/setup.js'],
transform
transform [object<string, pathToTransformer | [pathToTransformer, object]>]
Default: {"\\.[jt]sx?$": "babel-jest"}
타입스크립트, 바벨을 사용할 때 설정해야 합니다
test 로직은 일반 로직과 분리되어 동작하는데요.
'transform' 값을 설정하면
babel, 타입 스크립트 같은 변환을 자동으로 해줍니다.
물론, 바벨 변환을 사용하려면 babel-jest 플러그인을,
타입스크립트 변환을 사용하려면 ts-jest 플러그인을
설치해 주셔야 합니다.
transform: {
'^.+\\.tsx?$': 'ts-jest',
'^.+\\.js$': 'babel-jest',
},
마무리
여기까지 제가 jest.config.js를 작성할 때
사용했던 것들을 공유해드렸는데요.
저도 처음 설정해보는 부분이다 보니
잘못된 부분이 있을수도 있습니다.
그런 부분은 덧글에 남겨주시면
수정해서 다시 공유해드리도록 하겠습니다.
감사합니다.
'IT > 웹 프로그래밍' 카테고리의 다른 글
[HTML5] 윤인성, 웹 프로그래밍 입문(한빛 미디어) 연습문제 정답(2장, 3장) (0) | 2020.11.22 |
---|---|
[HTML5] 윤인성, 웹 프로그래밍 입문(한빛미디어) 연습문제 1장(시멘틱 웹, 웹2.0, WHATWG) (0) | 2020.07.14 |
[AJAX] AJAX 정의, 함수의 사용 형식, 주요 매개변수 옵션, 예제 코드 (0) | 2020.07.10 |
[우분투 톰켓 ] 톰켓(Tomcat) Unknown version of Tomcat was specifed 해결 (0) | 2019.04.20 |
[JSP session 코딩-1] 세션 저장, 삭제, 초기화 (0) | 2019.04.12 |
- Total
- Today
- Yesterday
- 무리뉴
- 축구
- 파워포인트
- 단어장
- 한글
- 영어 단어
- 영어 공부
- 포체티노 인터뷰
- 영어
- 축구 영어
- 한컴
- 영단어
- 스포츠 영어
- 앱
- 일상 영어
- 손흥민
- 엑셀
- 어플 추천
- 웹사이트
- 포체티노
- 맨체스터 유나이티드
- 솔샤르
- 단어
- 축구 유튜버
- 손흥민 골
- 산체스
- 오피스
- 맨유
- 토트넘
- 어플리케이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |