mockito

    Mockito

    Mockito Mock: 진짜 객체와 비슷하게 동작하지만 프로그래머가 직접 그 객체의 행동을 관리하는 객체. Mockito: Mock 객체를 쉽게 만들고 관리하고 검증할 수 있는 방법을 제공한다. Mock 프레임워크 중 가장 많이 사용된다. 단순한 로직의 단위 테스트는 간단하게 할 수 있지만, 만약 애플리케이션이 DB를 사용한다던가 외부 API를 호출한다고 하면, DAO 객체나 외부 API가 어떻게 동작하는지 Mock을 사용해 실제 API 호출 없이 사전에 테스트를 해볼 수 있다. 라이브러리 추가 스프링 부트 2.2+ 프로젝트 생성시 spring-boot-starter-test에서 자동으로 Mockito를 추가해 준다. 스프링 부트를 쓰지 않는다면, 의존성을 직접 추가한다. org.mockito mock..

    [Spring] Mockito when으로 repository save 리턴받기

    문제 단위테스트로 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/mo..