void
반환 유형 이있는 메소드가 있습니다. 또한 많은 예외를 throw 할 수 있으므로 발생하는 예외를 테스트하고 싶습니다. 같은 이유로 모든 시도가 실패했습니다.
Stubber 유형의 when (T) 메소드는 인수 (void)에 적용 할 수 없습니다.
특정 예외를 발생시키는 방법을 얻는 방법에 대한 아이디어가 있습니까?
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
답변
괄호가 잘못 배치되었습니다. 당신은 사용해야합니다
doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);
^
그리고 아닙니다
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
^
답변
Mockito의 새로운 BDD 스타일을 사용하는 방법에 대해 궁금한 경우 :
willThrow(new Exception()).given(mockedObject).methodReturningVoid(...));
그리고 나중에 참조하기 위해 예외를 throw 한 다음 아무것도하지 않아도됩니다.
willThrow(new Exception()).willNothing().given(mockedObject).methodReturningVoid(...));