ArgumentCaptor

    Kotlin에서 Mockito ArgumentCaptor 사용시 java.lang.NullPointerException: argumentCaptor.capture() must not be null 나오는 현상 해결 방법

    Kotlin에서 Mockito ArgumentCaptor 사용시 java.lang.NullPointerException: argumentCaptor.capture() must not be null 나오는 현상 해결 방법

    문제 상황 Kotlin에서 Mockito ArgumentCaptor을 사용하기 위해서 Java에서 쓰던 방법과 같은 방법을 사용하면 문제가 생긴다. @Test fun testLoginSuccessMockArgumentCaptor() { val repositorySuccessResult = LoginRepositoryResult.Success("test_token") Mockito.`when`(loginRepository.login(userName = "test", password = "test")) .thenReturn(repositorySuccessResult) val result = loginUseCase.logIn(userName = "test", password = "test") val argum..

    [Mockito] ArgumentCaptor 사용해 객체의 interaction 기록하기

    ArgumentCaptor 란? ArgumentCaptor란 interaction을 기록하는 Mock 타입의 Test Double을 만드는 객체이다. 즉, ArgumentCaptor은 객체의 interaction을 기록한다. ArgumentCaptor 사용하기 위한 환경 설정 ArgumentCaptor을 사용하기 위해서 앞선 글 https://simcode.tistory.com/12 의 환경을 가져와서 LoginUseCase, LoginUseCaseResult, LoginRepository, LoginRepositoryResult를 사용한다. 환경 설정 부분을 읽도록 하자. ArgumentCaptor 사용한 테스트 만들기 LoginUseCase의 logIn메서드에서 userName과 password변형이..