TDD와 단위테스트
TDD : 테스트가 주도하는 개발
단위테스트 : 기능 단위의 테스트 코드를 작성하는 것
레드 그린 사이클
이점
빠른 피드백이 가능하다.
기존 방식은 프로그램(Tomcat)을 실행하고, Postman과 같은 도구로 검증과 테스트를 한다. (이 부분을 수정할 때마다 반복)
→ 이렇게 하면, 톰캣을 내렸다가 실행했다가를 반복하게 된다.
테스트 코드는 눈으로 검증할 필요없이 자동 검증이 가능하다.
자동검증
개발자가 만든 기능을 안전하게 보호
여러 경우를 테스트 코드로 구현해 놓았다면 테스트 코드를 수행해서 문제를 조기에 찾을 수 있다.
테스트 코드 작성을 도와주는 프레임워크 xUnit
JUnit - Java
DBUnit - DB
CppUnit - C++
NUnit - .net
코드
main클래스가 프로젝트의 최상단에 위치해야한다.
main 메소드에서 실행하는 SpringApplication.run으로 인해 내장 WAS를 실행한다.
→ WAS를 실행하는 이유
HelloController에서 사용한 Annotation
@RestController
@GetMapping
→ @RequestMapping(method=RequestMethod.GET)으로 사용함
HelloControllerTest 코드 설명
사용한 코드