如何在powermock中模拟void方法

use*_*237 7 java unit-testing junit4 powermock

如何模拟一个非静态、非final的void方法方法的签名如下。我正在使用 Powermockito。

public class Name{

public void methodName{
...
...
}
}

@RunWith(PowerMockRunner.class)
@PrepareForTest({Name.class})
public class TestClass{
@Test
public void testMethodName(){
PowerMockito.doNothing().when(Name.class, methodName);
//some  when calls after this and assert later on
}
Run Code Online (Sandbox Code Playgroud)

当 methodName 被调用时我不想做任何事情。上面的代码不起作用。它说 methodName 无法解析。

Rom*_*ski -1

我目前不在 IDE,但我认为你可以这样做:

final Name name = mock(Name.class);
doNothing().when(name).methodName();
Run Code Online (Sandbox Code Playgroud)