我不知道如何在抽象类中填充 map (模拟)。我有这个架构:
抽象类有一个成员Map:
abstract class Parent{
protected Map<Integer, Example> map;
protected abstract void methodForChild();
protected Object doSomthingStaff(){
Object o = map.get(...);
//...
}
}
现在我正在测试子类,我必须模拟父类来调用一些方法。我如何在父模拟类中填充和使用 map ?
我有一张 map 的二传手。但是当我做下一个例子时:
Map<String, Example> mapExample = new HashMap<>();
mapExample.put(putDataHere);
Parent mockParent = Mockito.mock(Parent.class);
mockParent.setMap(mapExample);
我正在测试时 map 没有填充。
我应该 100% 使用 Mockito.CALLS_REAL_METHODS 还是存在解决此问题的正确方法?
最佳答案
Right now I am testing child class, and I have to mock parent class to call some methods
我不希望你在测试子类时模拟 parent 类(坦率地说,不知道你该怎么做)我希望你模拟一个被用作被测类的一个组件。
请注意:
Parent mockParent = Mockito.mock(Parent.class);
mockParent.setMap(mapExample);
不会执行任何操作,因为您在模拟上调用 setMap()
,并且实际上不会执行任何操作。我怀疑这是你的问题。
关于java - 我应该如何在抽象模拟类中填写 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43070403/