목차
1. PATCH와 PUT
2. 예외처리
3. 오늘날 테스트
@ExceptionHandler
@Controller
, @RestController
가 적용된 Bean내에서 발생하는 예외를 잡아서 하나의 메서드에서 처리해주는 기능을 한다.@ExceptionHandler(인자로받을예외클래스.class)
의 형태로 등록한다. (여러 예외 클래스 등록 가능)@ControllerAdvice
@RestControllerAdvice
와 기능은 같다.@ExceptionHandler
와는 달리 전역에서 발생할 수 있는 예외에 대해서 처리해준다.유지보수성의 극적 향상(쿼리로는 다형성이나 디자인패턴 전략 등을 하기 어렵거나 불가능)
자바코드에 담긴 로직은 쿼리에 담긴 로직에 비해 테스트하기 상대적으로 편리함.
assertEquals()
: 예상값과 실제값, 두 파라미터를 받아서 같은지 비교해주는 JUnit의 검증방법.@SpringBootTest
: Test를 할 때에도 Bean을 띄워서 테스트를 진행하겠다. (그렇지 않으면 모든 의존 객체들을 구현해야 한다.)
@Autowired
사용가능, 이를 통해 의존객체주입
@ExtendWith(MockitoExtension.class)
: 모든 Java Bean을 띄워서 테스트를 하는 것은 비효율적이기 때문에 테스트 하려고 하는 부분만 진행하겠다.
@InjectMocks
사용가능, 이를 통해 (Mock)의존객체주입
@Mock
: 의존객체주입
given()
: Mock들의 행동을 정의한다.