1

我想知道除了使用扩展 ArgumentMatcher 的类之外,是否还有更优雅的方法来验证参数?

谢谢。

4

2 回答 2

4

您是否正在寻找ArgumentCaptor这样做的方法?请参阅http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html#captors。这使您可以对传递给模拟方法的值执行任何您喜欢的检查。它通常比设置ArgumentMatcher.

于 2012-08-13T21:55:44.367 回答
1

我不知道您所说的“更优雅”是什么意思,但是实现自定义 ArgumentMatcher 的另一种方法是使用将Mockito.argThatHamcrest匹配器作为参数的匹配器。Hamcrest 库本身和第三方都有许多可用的 Hamcrest 匹配器,这样可以避免您编写自己的自定义参数匹配器,但如果您需要的匹配器还没有,您可以编写自定义 Hamcrest matcher 而不是 Mockito ArgumentMatcher。这是否更优雅在旁观者的眼中。

可以在Mockito's Matcher vs Hamcrest Matcher 的这个答案中看到它的使用示例。

于 2012-08-13T21:09:51.917 回答