我正在尝试使用Springockito和间谍来验证在端到端测试期间是否对服务方法进行了调用。我正在自动连接该进程也将获得的服务,并监视它。尽管myService实例已经过检测,但verify()不会验证以前的调用,但会调用原始方法并传递null参数。这是为什么?
substr
答案 0 :(得分:0)
这里可能发生的是,被监视的对象使用注释(例如@Transactional
),这需要Spring在您的间谍周围添加AOP代理,这会导致Mockito出现故障。
尽管我不使用Spock,但我遇到了与您相同的问题,我通过从Spring代理获取对代理的模拟或间谍的引用来解决了这个问题。
在此GitHub issue report中查看建议的技巧。
我没有使用Spring Boot,所以我将变通方法代码包装在@BeforeClass
方法中。