@MockBean
이용하여 EntityListener를 mock 처리할 수 있습니다.
- 등록한 user 객체를 반환하게 mock 처리하여, Security와 무관하게 테스트가 수행됩니다.
- 시험삼아 Review에도
@CreatedBy
방식 적용하고, ReviewServiceImpl 테스트를 위 방식으로 수행해 봤는데, user 등록에 성공했습니다.
@MockBean
이용하여 EntityListener를 mock 처리할 수 있습니다.@CreatedBy
방식 적용하고, ReviewServiceImpl 테스트를 위 방식으로 수행해 봤는데, user 등록에 성공했습니다.@SpringBootTest @Transactional class QuestionPostServiceImplTest { @Autowired QuestionPostServiceImpl questionPostService; @Autowired QuestionPostRepository questionPostRepository; @Autowired UserRepository userRepository; @MockBean UserAuditorAware userAuditorAware; @Test void create() { User user = User.builder() .nickname("guestUser") .email("guest@gmail.com") .password("testPassword12") .build(); userRepository.save(user); Mockito.when(userAuditorAware.getCurrentAuditor()).thenReturn(Optional.of(user)); Long questionPostId = questionPostService.createQuestionPost(new QuestionPostRegisterCommand("내용", null)); QuestionPost questionPost = questionPostRepository.findById(questionPostId).get(); System.out.println("questionPost.getAuthor() = " + questionPost.getAuthor()); } }