mockito 为带参数的方法做任何事情

问题描述 投票:0回答:1
class A{
     public void aa(B b){}
     public void bb(){}
}

对于模拟方法

bb()
我使用了
doNothing().when(A).bb();

我应该使用什么函数

aa()
因为它有参数。

java junit mockito powermockito
1个回答
5
投票

作为一般规则,您不需要

doNothing
,因为默认情况下,模拟在调用其方法时“不执行任何操作”。如果您使用的是
spy
而不是 mock,则只需写 doNothing

在 Mockito 1.x 中,你可以这样写

doNothing().when(yourSpyGoesHere).aa(any(B.class));

这会有效地禁用对

aa
的任何调用。

Mockito 2 中

any
的含义已更改,因此您现在需要编写
nullable
而不是
any

doNothing().when(yourSpyGoesHere).aa(nullable(B.class));
© www.soinside.com 2019 - 2024. All rights reserved.