꿀팁
[Mockito] ArgumentMathchers 사용 시 주의 (any)
tree code
2022. 10. 25. 15:21
Mockito를 사용해서 테스트를 할 때 ArgumentMatchers를 사용하면 유연한 검증을 할 수 있다.
ArgumentMatchers는 반환 값으로 사용할 수 없고 검증이나 스터빙 외에는 사용할 수 없다.

특정 값을 확인할 필요가 없는 경우 파라미터 타입에 맞게 anyLong(), anyString() 등을 대입하면 된다.
하지만 메서드에 파라미터가 둘 이상인 경우에 일부 파라미터에만 ArgumentMatchers를 사용할 수 없다.

위와 같이 테스트를 실행하면 Invalid use of argument natchers 에러가 뜬다.

이럴 때는 특정 값을 입력하는 파라미터에 eq matcher를 사용해서 "test" 대신 eq("test") 식으로 입력한다.