我有这个:
class MyClass {
private String foo;
public getFoo() { return foo; }
public setFoo(String foo) { this.foo = foo; }
}现在,我想模拟一下它。
MyClass m = Mockito.mock(MyClass.class);
when(m.getFoo()).thenCallRealMethod();
when(m.setFoo(Mockito.anyString())).thenCallRealMethod(); 但是这会给我一个编译错误:
'void' type not allowed here使用thenCallRealMethod()似乎适用于没有参数的方法,但我不能让它使用参数。我做错了什么?
发布于 2020-10-05 18:11:11
由于void方法不能返回任何内容,包括mockito匹配器,因此您需要对这些内容使用不同的语法:
doCallRealMethod().when(m).setFoo(Mockito.anyString())发布于 2020-10-05 18:14:53
你也可以窥探对象,这只会模拟已定义的方法
https://stackoverflow.com/questions/64206541
复制相似问题