기능을 개발했을 때 잘 구현되었는지 어떻게 확인할 수 있을까? 바로 테스트다. 기능을 개발한 후 잘 구현되었는 지 테스트 코드를 작성하고 리팩토링을 통해 향상시킬 수 있다. 개발자가 의도한 대로 정확히 작동하는 지 검증하는 절차인 것이다.
TDD는 테스트가 주도하는 개발을 이야기한다. 테스트 코드를 먼저 작성하는 것부터 시작하는 것이다.
반면, 단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 이야기한다. TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는 것도 아니고, 리팩토링도 포함되지 않는다. 순수하게 테스트 코드만 작성하는 것을 이야기한다.
테스트 코드 작성을 도와주는 프레임워크들이 있다. 가장 대중적인 테스트 프레임워크로 xUnit이 있는데 이는 개발환경(x)에 따라 Unit테스트를 도와주는 도구라고 생각하면 된다. 대표적인 xUnit 프레임워크들은 다음과 같다.
이 중에서 자바용인 JUnit을 앞으로 사용하겠다.
이동준, ⌜스프링 부트와 AWS로 혼자 구현하는 웹 서비스⌟, 이동욱, 2019년, 2장