Я пытаюсь написать junit, чтобы проверить использование java-мониторов в моем коде. Есть ли способ утверждать, что wait() был вызван для определенного объекта. Я попробовал разные комбинации obj и mockito spy, чтобы частично его заглушить, но он либо бросает IllegalMonitorStateException, либо просто ждет ожидания, а не ловит вызов метода.Junit - тестовый вызов obj.wait()
public void waitTest(){
RWLock lock= new RWLock();
RWLock lockSpy = spy(lock);
lock.lockRead();
synchronized (lockSpy) {
verify(lockSpy).wait();
}
}
class RWLock{
public synchronized void lockRead(){
wait();
}
}
Я бы очень признателен за любую помощь, которую я могу получить от этого. Благодаря!
Покажите нам код mockito. –
Я использую mockito spy здесь: RWLock lockSpy = шпион (замок); // для создания шпиона и проверить (lockSpy) .wait(); // проверить – mindreader