我正在测试一个在类中调用其他几个void方法的void方法(所有这些方法都在同一个类中).这种方法是这样的......
public void methodToTest() {
methodA();
methodB();
}
void methodA() {
methodA1();
methodA2();
methodA3();
}
Run Code Online (Sandbox Code Playgroud)
我想做的是让methodA()上面什么都不做.也就是说,我想methodA()基本上是这样的:
void methodA() { }
Run Code Online (Sandbox Code Playgroud)
我都试过doThrow(),并doAnswer()于methodA()无济于事.好像那些都被完全忽略了.
我试过的一个例子......
doThrow(new RuntimeException()).when(mockedClass).methodA();
Run Code Online (Sandbox Code Playgroud)
有没有办法只使用Mockito?我不能自由改变被修改的课程.
Chr*_*s D 22
如果您希望方法B仍然执行,而methodA什么也不做.这样做会:
TestClass spy = spy(new TestClass());
doNothing().when(spy).methodA();
spy.methodToTest();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35398 次 |
| 最近记录: |