0
如下圖所示,我要檢查mock.fireEvent()被調用特定事件(事件2此處)如何匹配模擬上的第二個調用?
mock.fireEvent(event1);
mock.fireEvent(event2);
verify(mock).fireEvent(matcherToCheckTheFieldOfEvent2);
,但得到指示
verify(mock).fireEvent(matcherToCheckTheFieldOfEvent2);
首先嚐試匹配錯誤調用
mock.fireEvent(argThat(event1));
問題是如何讓event2匹配?
匹配器看起來是這樣的:
private class IsEvent2 extends ArgumentMatcher<Event2>
{
@Override
public boolean matches(Object arg)
{
return ((Event2) arg).methodGotCalled();
}
}
能否請您加入確切的錯誤信息你得到?添加更多的junit測試代碼也會有所幫助。 – Alban
完整的測試代碼相當多,主要理念是捕獲事件的類型是Event1,並且不能將其轉換爲Event2,並添加Matcher代碼 –