일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- golang
- Packer
- SpyBean
- controlleradvice
- HandlerMethodArgumentResolver
- terraform
- container
- DevOps
- cache
- persistence
- docker
- Jpa Auditing
- serializer
- MockBean
- AWS
- playbook
- spring
- ansible
- AOP
- ci/cd
- launch-template
- Deserializer
- rest-api
- JPA
- gocd
- ehcache
- weaving
- LocalDateTime
- Proxy
- junit
- Today
- Total
목록junit (2)
기록용 블로그
BcryptPasswordEncoder 랜덤값 단위 테스트 작성하기 코드를 작성하면서 회원 정보의 비밀번호 컬럼을 BcryptPasswordEncoder로 암호화해 저장하도록 구현했는데 그 부분과 관련된 단위 테스트를 작성했을 때, 매번 랜덤한 값이 인코딩되어서 나와서 단위 테스트 작성을 어떻게 해야할지에 대해 고민.. Mockito기반 단위 테스트 환경에서 PasswordEncoder를 직접 구현해서 MockPasswordEncoder를 생성한 뒤 @Spy로 주입하고 테스트를 작성했다. 큰 의미를 가지는 테스트는 아닌데 앞으로 랜덤값을 가지는 경우 DI로 주입 될 객체를 바꿔치기 해서 테스트를 하면 될 것 같다. @RunWith(MockitoJUnitRunner.class) public class Me..
@MockBean, @SpyBean 이용 Caching 사용 시 단위 테스트 작성하기 Service단 코드에 EhCache를 적용했었다. 그때 그와 관련된 테스트를 어떻게 진행해야 할 지 고민했었는데 @MockBean과 @SpyBean 어노테이션을 이용해 Repository 코드가 몇번 호출되는지 체크해 단위 테스트를 진행할 수 있었음. Spring Boot 1.4에서 @MockBean과 @SpyBean이 추가됨. @MockBean은 껍데기만 그 객체의 형태를 유지하고, 내부 구현은 사용자가 when, given이나 기타 등등을 통해서 사용자가 직접 정의해주어야 함. @SpyBean을 사용하면 given, when을 한 것 외에 실제 객체를 사용한다. 여기서는 verify를 사용하기 위해 @SpyBean..