## 테스트 ## Jest Jest는 페이스북에서 개발한 자바스크립트 테스팅 프레임워크로, 간편한 설정과 다양한 기능을 제공하여 개발자들에게 많은 사랑을 받고 있습니다. Jest를 사용하면 자바스크립트 코드의 품질을 높이고, 버그를 조기에 발견하여 생산성을 향상시킬 수 있습니다. 먼저, 프로젝트 디렉토리에서 다음 명령어를 실행하여 Jest를 설치합니다. ```bash npm install --save-dev jest ``` package.json 파일의 scripts 섹션에 테스트 실행 스크립트를 추가합니다. ```json "scripts": { "test": "jest" } ``` Jest는 .js, .jsx, .ts, .tsx 확장자를 가진 파일이나 `__tests__` 디렉토리 내에 있는 파일을 자동으로 테스트 파일로 인식합니다. ```javascript // sum.js function sum(a, b) { return a + b; } // sum.test.js const sum = require('./sum'); test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); }); ``` 터미널에서 다음 명령어를 실행하여 테스트를 실행합니다. ```bash npm test ``` * 테스트 케이스 작성: test 함수를 사용하여 테스트 케이스를 작성합니다. * Expect API: expect() 함수를 사용하여 실제 값과 예상 값을 비교합니다. 다양한 매처(matcher)를 제공하여 정확한 비교가 가능합니다. * Mock 함수: 함수의 동작을 가짜로 만들어 테스트 환경을 제어할 수 있습니다. * Snapshot 테스트: UI 컴포넌트의 구조를 스냅샷으로 저장하고, 변경 여부를 확인합니다. * 커버리지 보고: 코드 커버리지를 측정하여 테스트의 완전성을 확인합니다. ```javascript test('null, undefined, and other falsy', () => { const n = null; expect(n).toBeNull(); expect(n).toBeDefined(); expect(n).not.toBeUndefined(); expect(n).toBeFalsy(); expect(n).not.toBeTruthy(); }); ```