Я получаю следующую ошибку, когда пытаюсь смоделировать перегруженные методы, передавая приведенные значения.
Например, чтобы поиздеваться над ABCClass.logWarn(Logger log,String , String description, Throwable e);
Я делаю
`ABCClass.logWarn(null,WarningString, description, (Throwable)null);
...\\ The rest of the methods are standard...
verify(event).setStatus((Throwable)null);//**Line 76**
Но когда я запускаю свои тестовые примеры, я получаю следующую ошибку
ABCClassTest.testLogWarn:76
Wanted but not invoked:
MockEvent.setStatus(null);
-> at com.path.ABCClassTest.testLogWarn(ABCClassTest.java:76)
However, there were other interactions with this mock:.....
Почему ожидается вызов setStatus(null)
даже после конкретного вызова setStatus((Throwable)null);
?
Дополнительная информация
Определение logWarn
private static void logWarn(String eventType, String eventName, String errMsg, Throwable e) {
AnEvent event = AnEventFactory.create(eventType);
event.setName(eventName);
if(e!=null)
event.setStatus(e);//so this is never called if the throwable is null.
//How do I modify the verify behavior?
/*
Bleh */
event.completed();
}