[nodejs] TDD의 개념

TDD(Test-Driven Development)는 소프트웨어 개발 방법론 중의 하나로, 테스트를 먼저 작성하고 해당 테스트를 통과하는 코드를 작성하는 개발 방법론입니다. TDD는 아래의 세가지 과정으로 이루어집니다.

1. Red

먼저 실패하는 테스트를 작성합니다. 이때, 해당 테스트는 아직 구현되지 않은 기능을 검증하는 테스트여야 합니다.

// 예시 코드
test('1 더하기 1은 2여야 한다', () => {
  expect(sum(1, 1)).toBe(2);
});

2. Green

그 후, 최소한의 코드를 작성하여 해당 테스트를 통과시킵니다.

// 예시 코드
function sum(a, b) {
  return a + b;
}

3. Refactor

마지막으로, 작성한 코드를 리팩토링하여 읽기 쉽고 유지보수하기 좋은 형태로 개선합니다.

TDD를 통해 코드를 작성하면, 코드의 안정성과 품질을 향상시키고, 불필요한 코드를 작성하지 않도록 도와줍니다.

참고문헌: [마이클 C. 페더스, 론 제프리스, 에드워드 M. 젤룩, “테스트 주도 개발”]