문제
단위테스트로 Mockito를 사용하던 중, repository save의 리턴 값에 대한 assert를 하고 싶었다.
그러나 객체가 실제 DB에 저장되지 않기 때문에 repository save는 null을 리턴한다.
나는 save한 객체를 그대로 받고 싶었고, 참고자료를 통해 해결했다.
해결
when(userRepository.save(any(User.class))).then(AdditionalAnswers.returnsFirstArg());
repositroy save로 어떤 User가 넘어가든, save의 첫 번째 인자를 리턴하도록 stubbing을 설정했다.
이제 리턴받은 객체로 원하는 검증을 할 수 있다.
https://stackoverflow.com/questions/26161917/mockito-returning-the-same-object-as-passed-into-method
'java > spring' 카테고리의 다른 글
[Spring] Spring AOP와 실무 응용 (0) | 2023.01.12 |
---|---|
[Spring] PostgreSQL - PostGIS, JPA를 통해 공간 데이터 다루기 (0) | 2023.01.12 |
[Spring] AWS S3 압축 파일 풀어서 업로드하기 - TransferManager (0) | 2022.08.05 |
[Spring] AWS S3 파일 압축해서 다운로드 - 여러가지 방법 비교분석 (2) | 2022.08.05 |
[Spring] AWS S3 객체 삭제 (0) | 2022.08.04 |