我有奇怪的行为。我有一个单元测试,它做了一些事情,然后执行以下验证语句:
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=参数的多次调用?