我正在使用Mockito进行固执。
这是我的设置的最小表示。假设Getters和Setter
class Person {
String name;
}
class Car {
Person owner;
}
class CarPool {
Car car;
String getOwner() {
car.getOwner.getName()
}
}
class testClass {
CarPool carPool = new CarPool();
Car car = mock(Car.class);
when(car.getOwner.getName()).thenReturn("name");
carPool.setCar(car);
assertEquals(carPool.getOwner, "name");
}
在尝试此操作时,我会得到一个无零件,因为被室内的人还没有准备好。有可能这样做吗?如果没有,在这种情况下最好的解决方案是什么?
您可以做深刻的固执。
Car car = mock(Car.class, Mockito.RETURNS_DEEP_STUBS);
请注意,深木通常意味着代码不干净。考虑文档中的以下报价:
每次模拟返回模拟童话死亡。
来源:Mockito Documentation