如何使用Mockito“verify”和specs2的“finally”?

1szpjjfi  于 2022-12-26  发布在  其他
关注(0)|答案(1)|浏览(129)

我正在Scala中编写一个specs2mockito的测试,测试应该验证一个 * 异步 * 运行的函数foo调用barMock.bar()
为了验证barMock.bar()调用,我可以使用verify

verify(barMock).bar()

由于foo是异步运行的,我应该使用eventually方法来验证调用:

eventually {
  verify(barMock).bar()
}

不幸的是,上面的代码无法编译,我不得不添加success

eventually {
  verify(barMock).bar()
  success
}

有没有可能去掉那个successs

s5a0g9ez

s5a0g9ez1#

您需要为eventuallyAssert一些东西,success是一个很好的例子,因为以前verify在没有被调用时将失败,并返回AssertionError
如果你想更明确地说明这一点,你可以这样做(基于this issue):

eventually {
  verify(barMock).bar() must not(throwA[AssertionError])
}

相关问题