【发布时间】:2021-06-22 13:22:08
【问题描述】:
对于一个类,例如称为A类,我调用了一个外部api(有例外,我已经嘲笑了这个类)。在 B 类中,我有一个方法调用 A 类的方法,可能会发生异常。 B 类具有@Retryable 和@Recover 方法。我将 A 类作为模拟对象,将 B 类作为间谍。当我模拟 A 类以引发异常并验证它被调用的时间时 - 我得到了正确的 maxAttempts 调用。但是,当我尝试检查和验证恢复或重试的方法时,我得到:
UnfinishedVerificationException
..
Missing method call for verify....
有谁知道是否可以验证这些方法调用?
【问题讨论】:
-
你能显示代码吗?如果您的恢复方法在重试用尽后被执行,那么您为什么要再次验证恢复?
-
据我所知,恢复方法只会在重试后调用一次,我建议检查返回值以确保执行恢复
标签: spring-boot junit mockito spring-test spring-retry