Mockito는 기본적으로 Object의 equals()메서드를 이용하여 argument 값을 확인한다
argument mathcher를 이용하면 custom하게 argument 값을 확인할 수도 있다
어떤 메서드의 argument가 특정 값일 때만 평가되도록 하기 위해서는 argument matcher를 사용해야한다
anyXXX()와 같은 함수로 argument를 비교하게되면 argument에 어떠한 값이 들어오더라도 전부다 실행된다
// 아무런 int값이 가능하다면 anyInt를 사용하면 된다when(mockedList.get(anyInt())).thenReturn("element");// custom한 argument matcher는 아래와 같이 호출한다 when(mockedList.contains(argThat([ArgumentMatcher<T>]))).thenReturn("element");// 자바8의 람다를 이용하면 다음 처럼 argument matcher를 작성 할 수 있다 verify(mockedList).add(argThat(someString->someString.length()>5));
Interface ArgumentMatcher
ArgumentMatcher 인터페이스의 matches 메소드를 통하여 argument를 비교한다