Я не могу получить данные, которые я установил для смоделированного объекта, используя вызов метода, т.е. invokeMethod
.Я могу получить его, используя getInternalState
.
controller_mock = mock(MyController.class);
ArrayList<BaseItem> items = new ArrayList<>();
final ItemTypeOne item1 = new ItemTypeOne();
final ItemTypeOne item2 = new ItemTypeOne();
final ItemTypeTwo item3 = new ItemTypeTwo();
final ItemTypeTwo item4 = new ItemTypeTwo();
items.add(item1);
items.add(item2);
items.add(item3);
items.add(item4);
Whitebox.setInternalState(controller_mock, "mItems", items);
System.out.println(controller_mock);
//Prints -> myController
System.out.println(Whitebox.getInternalState(controller_mock, "mItems"));
//Prints -> [UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN]
System.out.println(Whitebox.invokeMethod(controller_mock, "getItems"));
//Prints -> []
System.out.println(controller_mock.getItems());
//Prints -> []
getItems () в MyController
public List<BaseItem> getItems() {
return mItems;
}