스프링 부트3 백엔드 개발자 되기 (자바편) 04장 : 스프링 부트 3와 테스트를 공부하고 작성한 내용입니다.
출처: https://wikidocs.net/237060
: 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드
테스트 코드는 test 디렉터리에서 작업
다양한 패턴이 존재
- given-when-then 패턴
1. given : 테스트 실행을 준비
2. when : 테스트 진행
3. then : 테스트 결과를 검증
스프링 부트는 spring-boot-starter-test스타터에서 애플리케이션을 테스트하기 위한 도구와 애너테이션을 제공한다.
(JUnit, Spring Test & Spring Boot Test, AssertJ, Mockito...)
JUnit : 자바 프로그래밍 언어용 단위 테스트 프레임워크


AssertJ는 JUnit과 함께 사용해 검증문의 가독성을 확 높여주는 라이브러리입니다. 이를테면 앞서 작성한 테스트 코드의 Assertion은 기댓값과 실제 비교값을 명시하지 않으므로 비교 대상이 헷갈립니다.
▼ 기댓값과 비교값이 잘 구분되지 않는 Assertion 예
Assertions.assertEquals(sum, a + b);
▼ 가독성이 좋은 AssertJ 예
assertThat(a + b).isEqualTo(sum);
AssertJ에서 다양한 메서드 제공

