gpt4 book ai didi

java - Junit - 测试对 obj.wait() 的调用

转载 作者:行者123 更新时间:2023-11-30 04:13:50 26 4
gpt4 key购买 nike

我正在尝试编写一个 junit 来测试代码中 java 监视器的使用。有没有办法断言 wait() 已在特定对象上调用。我尝试了 obj 和mockito spy 的不同组合来部分 stub 它,但它要么抛出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();
}
}

我非常感谢我能在这方面获得的任何帮助。谢谢!

最佳答案

你的问题是 wait() 是最终的。 Mockito 无法验证 final方法。

关于java - Junit - 测试对 obj.wait() 的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18939130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com