QA(Quality ASSURANCE): 미리 버그를 발견해서 프로덕션 환경에서 문제가 생기는 걸 방지한다.
더욱 빠른 리팩터링: 변경한 코드가 기존 로직에서 문제를 일으킬 경우 미리 알 수 있다.
다큐먼테이션 역할: 테스트 자체가 코드가 어떻게 작동해야하는지 설명하는 하나의 문서 역할을 한다.
코드 로직 검증 자동화: 테스트 코드를 실행해서 로직 검증을 자동화하여 직접 프로그램을 테스트 할 필요가 없어진다.
Controller 제외 테스트: 우리가 작성한 비즈니스 로직 코드를 Controller 없이도 테스트가 가능하다.
테스트 코드는 로드의 작동 로직을 검증하는 코다.
흔히 어떤 특정 값이 입력됐을 때, 어떤 값이 반환되는지 확인한다.
다양한 값들을 테스트할 수 있다.
억지로 이상한 값을 넣어서 기대하는 에러가 발생하는지 확인 가능하다.
가능하면 안되는 로직을 검증 할 수 있다.