본문 바로가기
Study/node.js

Node.js - TDD 시작하기 (1)

by 김만두_ 2023. 11. 16.

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를 시작하는 것은 개발 생산성과 코드 품질을 향상시킬 수 있는 좋은 방법이다.

설정과 구성에 조금의 시간이 소요되지만, 코드를 안정적으로 유지하는 데 큰 도움이 된다.