コードで Java モニターの使用をテストするために、junit を作成しようとしています。特定のオブジェクトで wait() が呼び出されたことをアサートする方法はありますか。obj と mockito spy のさまざまな組み合わせを試して部分的にスタブしましたが、 IllegalMonitorStateException をスローするか、メソッド呼び出しをキャッチする代わりに待機し続けます。
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();
}
}
これについて何か助けていただければ幸いです。ありがとう!