2025-01-26T02:15:33

This commit is contained in:
2025-01-26 02:15:33 +09:00
parent f43f6328c0
commit f867e689aa
22 changed files with 2702 additions and 213 deletions

50
doc/16_테스트.md Normal file
View File

@@ -0,0 +1,50 @@
## 테스트
## 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();
});
```