[nodejs] TDD의 테스트 코드 작성 가이드라인

Test-Drive Development (TDD)은 소프트웨어 개발에서 품질을 높이고 유지보수성을 증가시키는 데 도움이 되는 방법론입니다. TDD를 사용하면 코드가 예상대로 동작하는지 확인하고 예상과 다르다면 빠르게 수정할 수 있습니다. 이를 위해 테스트 코드를 작성해야하며, 효과적인 TDD를 위해 몇 가지 가이드라인이 있습니다.

1. 테스트 명명규칙을 따르세요

TDD에서는 테스트 메소드 명을 명확하게 작성해야 합니다. 테스트 메소드명은 메소드_테스트하는행위_예상결과와 같은 형식을 따라야 합니다. 이를 통해 다른 개발자들이 테스트가 어떤 행위를 테스트하며 무엇을 예상하는지 쉽게 이해할 수 있습니다.

예시:

test_calculateTotalAmount_whenGivenValidInput_shouldReturnCorrectTotalAmount

2. Arrange, Act, Assert (AAA) 패턴을 따르세요

테스트 메소드는 보통 3개의 부분으로 나누어 작성됩니다.

이러한 AAA 패턴을 따르면 각 테스트가 무엇을 하는지 명확하게 구분할 수 있습니다.

3. 단위 테스트와 통합 테스트를 분리하세요

단위 테스트와 통합 테스트는 목적과 대상이 다르기 때문에 분리해야 합니다. 단위 테스트는 하나의 모듈 또는 함수와 같은 작은 단위를 테스트하는 반면, 통합 테스트는 다양한 컴포넌트 간의 상호작용을 테스트합니다.

4. 테스트 코드 중복을 피하세요

테스트 코드도 중복을 피해야 합니다. 중복된 테스트 코드는 유지보수가 어렵고 실수를 유발할 수 있습니다. 공통적인 동작이나 기능을 하는 헬퍼 함수나 모듈을 이용하여 중복을 방지할 수 있습니다.

효과적인 TDD를 위해 명확하고 간결한 테스트 코드를 작성하세요. 테스트 코드는 소스 코드와 동등한 중요성을 갖고 있으며, 품질을 유지하는 데 중요한 역할을 합니다.

Reference