[nodejs] TDD의 주요 단계

Test-Driven Development (TDD)는 소프트웨어 개발 방법론 중 하나로, 반복적이고 점진적인 개발을 강조하는 방법입니다. TDD를 사용하면 개발자들은 코드를 작성하기 전에 테스트를 작성하고, 해당 테스트가 통과하도록 코드를 작성합니다. TDD의 주요 단계는 다음과 같습니다:

  1. 테스트 작성 (Write a Test) 먼저, 개발자는 해당 기능이나 모듈에 대한 테스트 케이스를 작성합니다. 이때, 해당 기능이 어떻게 동작해야 하는지에 대한 기대 값을 명확하게 정의해야 합니다.

    test('adds 1 + 2 to equal 3', () => {
        expect(sum(1, 2)).toBe(3);
    });
    
  2. 테스트 실행 및 실패 확인 (Run the Test and Watch it Fail) 작성한 테스트를 실행하고, 해당 테스트가 실패하는 것을 확인합니다. 이때는 해당 기능이 아직 구현되지 않았기 때문에 테스트가 실패하는 것이 정상입니다.

  3. 기능 구현 (Write the Code) 테스트가 실패하는 것을 확인한 후, 해당 테스트를 통과할 수 있도록 코드를 작성합니다.

    function sum(a, b) {
        return a + b;
    }
    
  4. 테스트 실행 및 통과 확인 (Run the Test and Watch it Pass) 코드를 작성한 후에는 다시 테스트를 실행하여 해당 테스트가 통과하는지 확인합니다.

  5. 코드 리팩터링 (Refactor) 마지막으로, 작성한 코드를 리팩터링하여 중복된 코드를 제거하거나 구조를 개선합니다. 이때, 기능이 변경되지 않은 상태에서 리팩터링을 수행하여 기능의 안정성을 유지합니다.

이러한 TDD의 단계를 반복하면서 개발을 진행하면, 안정적이고 견고한 코드를 작성할 수 있으며, 변경사항에 대한 빠른 피드백을 받을 수 있습니다.

참고문헌: