모델 단을 단위 테스트하는 것과 비슷하게, 컨트롤러도 Mockito와 Junit을 이용해 단위 테스트할 수 있다. 하지만 이 경우 실질적인 HTTP 제이슨 페이로드를 받아 검증하는 방식은 아니다. @Vaild와 같은 어노테이션을 포함한 다양한 것들을 검증하기 위해서는 Mockito와 Junit 만으로는 부족하다. 이러한 경우를 대비해 스프링이 MockMvc를 제공하고 이를 활용해 컨트롤러 end point를 적용한 테스트를 진행할 수 있다. 즉, MockMvc를 활용하면 모의 서블릿 환경에 대한 테스트를 작성할 수 있다. 또한 Mockito에서 제공하는 @Mock이나 @InjectMocks와 같은 어노테이션은 스프링 컨텍스트에 로드하지 않기 때문에 컨트롤러 테스트에서는 사용될 수 없다. 이때는 @Mock..
Test Double 테스팅을 목적으로 실제 객체 대신에 사용하는 가짜 객체를 의미하며 Dummy, Fake Object, Stub, Mock들이 있다. Test Double이 없다면 테스트할 모듈과 의존관계를 갖는 모든 객체를 직접 생성하고 세팅해야 한다. 상태검증과 행위검증 1. 상태검증 메소드가 수행된 후 SUT나 협력 객체의 '상태를 살펴봄'으로써 올바로 동작했는지를 판단한다. 예) 예상했던 '값'과 실제 '값'이 같은지 테스트 cf. SUT(System Under Test) : 테스드 대상이 되는 주요 객체 2. 행위검증 SUT에서 협력객체의 특정 메서드가 '호출되었지 등의 행위'를 검사함으로써 올바로 동작했는지 판단한다. 예) 특정 로직의 흐름이 적절하게 모두 수행되었는지 또는 수행되면 안 될..
- Total
- Today
- Yesterday
- argocd
- ci/cd
- spring
- CICD
- Stream
- container
- GitOps
- jvm
- RDB
- Kotlin
- db
- 쿠버네티스
- github actions
- 컨트롤러
- ubuntu
- golang
- 코틀린
- kafka
- Kubernetes
- 카프카
- docker
- K8s
- Linux
- Java
- LFCS
- Non-Blocking
- 우분투
- go
- Controller
- rolling update
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |