Jest 설치
npm install --save-dev jest
yarn add --dev jest
스크립트 추가 (package.json 파일에 추가)
- 테스트파일이름은 example.test.js의 형태로 사용
{
"scripts": {
"test": "jest"
}
}
실행 명령어
npm test
yarn test
코드 예시
describe('Path Components 관련', () => {
test('경로에 요소를 추가하는 메소드 UNIX: appendComponent()', () => {
const path = new Path('/home/user/documents/file.txt');
path.appendComponent('newfolder');
expect(path.pathComponents).toEqual([
'/',
'home',
'user',
'documents',
'newfolder',
'file.txt',
]);
});
- describe : 출력 시에 나오는 설명
- describe내에 여러 describe 중첩이 가능

- test : 테스트 케이스
- expect : 예상되는 결과값을 실제 결과값과 어떤지 나타냄
- toBe : 객체가 동일한지 테스트 (엄격한 동일성)
- '==='로 비교해서 true가 나오는 동일성
- toEqual : 객체나 배열의 값이 동일한지 테스트 (깊은 동일성)
- 객체나 배열의 하위 요소 전부가 같아야함
- toStrictEqual : 객체나 배열이 엄격하게 동일한지 테스트
- toBeTruthy(), toBeFalsy() : 참인지 거짓인지 테스트
- toBeNull / toBeUndefined / toBeDefined : 값이 null, undefined, 정의되어있는지 테스트
- toBeGreaterThan / toBeGreaterThanOrEqual : 특정 수보다 큰지, 같거나 큰지 테스트
- toBeLessThan / toBeLessThanOrEqual : 특정 수보다 작은지, 같거나 작은지 테스트
- toBeCloseTo : 값이 특정 숫자와 근사치인지(부동 소수점 비교)를 테스트
- toMatch : 문자열이 정규식 또는 문자열과 일치하는지 테스트
- toContain : 배열이나 문자열에 특정 항목이 포함되어 있는지 테스트
- toThrow / toThrowErrorMatchingSnapshot() : 함수가 예외를 던지는지 테스트
- resolves / rejects : 비동기 Promise가 해결되는지 거부되는지 테스트
- toHaveLength : 배열이나 문자열의 길이를 테스트
- toHaveProperty : 객체에 특정 속성이 있는지 테스트
- toBeInstanceOf : 객체가 특정 클래스의 인스턴스인지 테스트
- toBe : 객체가 동일한지 테스트 (엄격한 동일성)
테스트 파일로 인해 어떤 테스트케이스가 통과되었고 어떤 테이스케이스가 반려되었으며 런타임은 얼마나 걸리는지까지 전부 확인가능
'JS' 카테고리의 다른 글
| 함수형 프로그래밍 (2) - 일급 함수 (4) | 2024.07.25 |
|---|---|
| 함수형 프로그래밍 (1) - 순수함수 (0) | 2024.07.24 |
| 타입스크립트 컴파일 with readline (2) | 2024.07.23 |
| [Node.js] Process 노드 모듈 (0) | 2024.07.19 |
| [Node.js] 메모리 관리 (0) | 2024.07.18 |