0

我有奇怪的行为。我有一个单元测试,它做了一些事情,然后执行以下验证语句:

    verify(exactly = 2) {
        observer.onThingChanged()
    }
    verify(exactly = 1) {
        b.addThing(thing)
    }
    verify(exactly = 0) {
        observer.onAnotherThingChanged(any())
    }

此测试在第二次调用时失败,verify()并出现以下错误:

java.lang.AssertionError: Verification failed: call 1 of 1: Observer(#2).onThingChanged()).
2 matching calls found, but needs at least 1 and at most 1 calls
Calls:
1) Observer(#2).onThingChanged()
2) Observer(#2).onThingChanged()

这是没有意义的。它似乎使用了第二次调用中的“确切”参数,但使用了 第一次verify()调用中的代码块。 verify()

我错过了什么吗?verify()是否支持使用不同exactly=参数的多次调用?

4

0 回答 0