私はモックでMockitoを使用してこれを行おうとしています:
Mock.someMethod(..)がargument1-> return result1で呼び出され
たときMock.someMethod(..)がargument2-で呼び出されたとき-> return result2
When Mock.someMethod (..)はargument3->returnresult3で呼び出されます
when(mock.method(Matchers.argThat(new MyMatcher1() {
@Override
public boolean matches(Object arg0) {
// comparision logic
}
}))).thenReturn(result1);
when(mock.method(Matchers.argThat(new MyMatcher2() {
@Override
public boolean matches(Object arg0) {
// comparision logic
}
}))).thenReturn(result2);
when(mock.method(Matchers.argThat(new MyMatcher3() {
@Override
public boolean matches(Object arg0) {
// comparision logic
}
}))).thenReturn(result3);
しかし、Mockitoは最初のものを正しくスタブしますが、2番目のものでは、何らかの理由でMatcherをnull agrumentで実行しようとするため、NullPointer例外をスローします。サポートされているかどうかはわかりません。
これが正しい方法ではない場合、Mockitoでこれを達成する方法は?ありがとう。