TDD(Test-driven Development)란?
코드 작성전에 테스트를 쓰는 소프트웨어 개발 방법론으로, TDD를 통해 소프트웨어를 개발한다는 것은 작은 단위의 테스트 케이스를 작성하고, 이를 통과하는 코드를 작성하는 과정을 반복하는 것을 의미한다.
1.Write Failing Test: 실패하는 테스트 코드를 먼저 작성한다.
2.Make Test Pass: 테스트 코드를 성공시키기 위한 실제 코드를 작성한다.
3.Refactor: 중복 코드 제거, 일반화 등의 리팩토링을 수행한다.
주의사항: 1의 과정을 마치기 전에 2의 작업을 시작하지 않도록 주의해야 하며, 2를 진행할 때에는 1의 테스트를 통과할 정도의 최소 코드만 작성해야 한다.
테스트 코드를 먼저 작성해야 하기 때문에 시간이 오래 걸리는 것처럼 느껴지지만, 오히려 예상하지 못했던 버그를 줄여 소요 시간을 줄일 수 있기 때문에 사용한다.
console.log를 통해 확인하는 것도 일종의 테스트이며, 테스트 오픈소스 프레임워크를 사용하는 방법도 있다.