|
|
1
253
Mockito 1.8.1介绍 anyVararg() matcher :
另请参阅历史: https://code.google.com/archive/p/mockito/issues/62 编辑 弃用后的新语法:
|
|
|
2
31
例如:
|
|
|
3
8
然后可以将其与hamcrest的数组匹配器一起使用,因此:
(显然,静态导入将使其更具可读性。) |
|
|
4
3
我一直在使用Peter Westmacott答案中的代码,但是对于Mockito 2.2.15,您现在可以执行以下操作:
哪里
|
|
|
5
2
基于topchef的答案,
|
|
|
6
0
在我的例子中,我想要捕获其参数的方法的签名是:
明确地:
我用的是mockito版本
|
|
|
7
0
您还可以循环使用参数:
|
|
|
8
0
改编@topchef的答案,
根据Mockito 2.23.4的java文档,Mockito.any()匹配任何内容,包括null和varargs |
|
|
9
0
您可以通过传递ArgumentCaptor捕获,然后使用“getAllValues”以列表形式检索varargs来完成此操作,请参见: https://stackoverflow.com/a/55621731/11342928 |
|
|
10
0
由于其他的答案是有意义的,并且使测试工作很明显,所以我仍然建议测试方法时不要使用vararg,而是使用常规的定义良好的参数。这有助于处理与可能的不明确参数相关的重写方法,如SLF4J记录器:
这有一堆重写,重要的方法是这样声明的
验证:
而且它可能显示了更多的意图和可读性。捕获也可以在这里使用,这样更容易访问。
|
|
|
Ricky Mo · 角度测试如何模拟导入的const 2 年前 |
|
|
Robert · 如何模拟Perl的unlink函数? 2 年前 |
|
|
Ivan · 模拟没有按预期工作(Django) 2 年前 |
|
|
Erfan Sabouri · 在laravel中测试多存储 2 年前 |