[nodejs] TDD의 테스트 케이스 작성

테스트 주도 개발(Test-Driven Development, TDD)은 소프트웨어 개발 방법론 중 하나로, 코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 방식을 채택합니다. 이 방법은 코드의 품질을 향상시키고, 안정성을 높이며, 개발자가 코드 작성 중에 예상치 못한 버그를 미리 발견할 수 있도록 도와줍니다.

TDD의 장점

  1. 코드 품질 개선
  2. 안정성 향상
  3. 높은 테스트 커버리지
  4. 빠른 피드백 루프

TDD 사이클

  1. 실패하는 테스트 케이스 작성
  2. 실제 코드 작성
  3. 테스트 통과하는 코드 작성
  4. 리팩토링

이를 통해 안정적이고 견고한 코드를 작성할 수 있으며, 나중에 코드를 유지보수할 때 훨씬 쉽고 안정적으로 작업할 수 있게 됩니다.

아래는 Node.js와 Jest를 사용하여 간단한 TDD 테스트 케이스를 작성하는 예제입니다.

// math.js 파일

function add(a, b) {
  return a + b;
}

module.exports = add;
// math.test.js 파일

const add = require('./math');

test('adds 1 + 2 to equal 3', () => {
  expect(add(1, 2)).toBe(3);
});

위 코드는 math.js 파일과 math.test.js 파일을 생성하여, add 함수에 대한 간단한 테스트 케이스를 작성한 예제입니다.

TDD를 통해 코드를 작성하면, 코드 변경으로 인한 예상치 못한 오류를 줄일 수 있으며, 코드의 안정성과 신뢰성을 높일 수 있습니다.

참고 자료