【发布时间】:2023-02-01 20:44:23
【问题描述】:
Mockito验证方法中times(1)和atMostOnce()有什么区别?
因为两者都会导致相同的行为,那么它们之间有什么区别?
他们的内部工作有什么不同吗?
verify(calculatorService, times(1)).add(10.0, 20.0);verify(calculatorService, atMost(1)).add(10.0, 20.0);
【问题讨论】:
Mockito验证方法中times(1)和atMostOnce()有什么区别?
因为两者都会导致相同的行为,那么它们之间有什么区别?
他们的内部工作有什么不同吗?
verify(calculatorService, times(1)).add(10.0, 20.0);verify(calculatorService, atMost(1)).add(10.0, 20.0);
【问题讨论】:
这是==和<=之间的区别:
times(1) 必须恰好发生一次。atMost(1) 可能发生零次或一次。
【讨论】:
据我回忆,应该是这样的:
times(1) -> 将断言您的代码恰好调用了一次模拟方法atMost(1) -> 断言您的代码没有调用多个方法 - 请注意,即使您不调用方法 (0),断言也应该通过。
【讨论】: