我想知道除了使用扩展 ArgumentMatcher 的类之外,是否还有更优雅的方法来验证参数?
谢谢。
您是否正在寻找ArgumentCaptor
这样做的方法?请参阅http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html#captors。这使您可以对传递给模拟方法的值执行任何您喜欢的检查。它通常比设置ArgumentMatcher
.
我不知道您所说的“更优雅”是什么意思,但是实现自定义 ArgumentMatcher 的另一种方法是使用将Mockito.argThat
Hamcrest匹配器作为参数的匹配器。Hamcrest 库本身和第三方都有许多可用的 Hamcrest 匹配器,这样可以避免您编写自己的自定义参数匹配器,但如果您需要的匹配器还没有,您可以编写自定义 Hamcrest matcher 而不是 Mockito ArgumentMatcher。这是否更优雅在旁观者的眼中。