1

コードで 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();
    }
}

これについて何か助けていただければ幸いです。ありがとう!

4

1 に答える 1