Node.js에서 TDD를 시작하는 방법에 대해 알아보기로 하자.
TDD에 대하여 : https://mand0o0.tistory.com/100
1. 환경 설정
테스트 러너 선택
- Jest : 기본적인 설정이 간편하고 사용하기 쉽다. Mocking, assertion, 비동기 코드 테스트 등을 지원한다.
- Mocha + Chai : Mocha는 테스트 러너이며, Chai는 assertion 라이브러리. 유연성이 높아 필요에 따라 다양한 방식으로 확장할 수 있다.
패키지 설치
선택한 테스트 러너와 함께 필요한 패키지를 설치한다. Jest를 사용한다면 Jest만 설치하면 되고, Mocha와 Chai를 함께 사용한다면 각각을 설치한다.
# Jest 설치
npm install jest --save-dev
# Mocha와 Chai 설치
npm install mocha chai --save-dev
2. 테스트 작성
테스트 디렉토리 구조
'test' 또는 '__tests__'와 같은 이름의 디렉토리를 생성하여 테스트 파일을 관리한다.
// Jest 예시
// math.js
function sum(a, b) {
return a + b;
}
module.exports = sum;
// math.test.js
const sum = require('./math');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
// Mocha + Chai 예시
// math.js
function sum(a, b) {
return a + b;
}
module.exports = sum;
// math.test.js
const sum = require('./math');
const { expect } = require('chai');
describe('Math', () => {
it('should add 1 + 2 to equal 3', () => {
expect(sum(1, 2)).to.equal(3);
});
});
3. 테스트 실행
npx jest
# 또는 package.json에서 Jest 스크립트 추가 후 실행
# "scripts": {
# "test": "jest"
# }
# npm test
# Mocha를 전역으로 설치한 경우
mocha
# 또는 package.json에서 Mocha 스크립트 추가 후 실행
# "scripts": {
# "test": "mocha"
# }
# npm test
4. 개발 및 테스트 반복
위 단계를 반복하여 새로운 기능을 개발하고 테스트 코드를 작성하여 TDD 사이클을 유지한다.
테스트가 예외 상황을 고려하고 코드를 안정적으로 유지하는 데 도움이 된다.
TDD를 시작하는 것은 개발 생산성과 코드 품질을 향상시킬 수 있는 좋은 방법이다.
설정과 구성에 조금의 시간이 소요되지만, 코드를 안정적으로 유지하는 데 큰 도움이 된다.
'Study > node.js' 카테고리의 다른 글
Node.js - TDD 시작하기 (2) (0) | 2023.11.17 |
---|---|
Node.js - TDD (Test Driven Development) (0) | 2023.11.15 |
[ Node.js ] Express 라우터(Router)란? (0) | 2022.11.30 |
[Express] 익스프레스 에러 핸들링 Error handling (0) | 2022.11.29 |
[Express] 익스프레스 restAPI의 PUT과 Patch의 차이점과 사용방법 (1) | 2022.11.29 |