나는 문자열과 반복자를 수용하는 방법,이 :이 방법은 클래스를 조롱하려고Mockito : iterator가 같다고 기대하는 방법?
public int doSomething(String str, Iterator<String> itr)
를, 그래서 전달 된 인수에 따라 정수 저를 반환합니다. 어떻게 Mockito의 when()
을 호출하여 iterator가 내가 지정한 것과 동일한 "equal"이 될 것으로 기대합니까? 전달 된 반복자가 동적으로 시스템의 어딘가에을 구축 할 것입니다, 나는 when()
에서의 동일한 인스턴스를 사용할 수 없습니다, 그래서 나는 단지 내 기대대로의 복사본을 만들 수 있습니다 : 나는 다음과 같은 시도
List<String> aList = new ArrayList<String>();
aList.add("one");
aList.add("two");
MyClass myMock = Mockito.mock(MyClass.class);
, 그리고 없음
난 단지anyObject()
사용하여 성공
Mockito.when(myMock.doSomething("some string", aList.iterator())).thenReturn(10);
Mockito.when(myMock.doSomething(Matchers.eq("some string"), Matchers.eq(aList.iterator()))).thenReturn(10);
: 다음 물론 나는 다른 결과를 설정할 수 없습니다
Mockito.when(myMock.doSomething(Matchers.eq("some string"), Matchers.anyObject())).thenReturn(10);
을하지만, 출발을 그들에게 작동하는 것 같다 반복자에있는 내용으로 끝나는 ...
당신이 작업 할 수 원하는 샘플 코드를 제공 할 수 있습니다. – kan