Поскольку domainCodes
является приватным, ваш контроллер должен иметь способ установить значение для него либо конструктор, либо установщик.
Сеттер
@Autowired()
@Qualifier("domainNameToCode")
public void setDomainCodes(Map<String, Integer> domainCodes) {
...
}
Конструктор
@Autowired()
@Qualifier("domainNameToCode")
public MyController(Map<String, Integer> domainCodes){
}
В ваших тестах теперь вы можете вводить макеты.
Если вы не хотите редактировать свой источник, вы можете использовать отражение, чтобы установить личную переменную экземпляра для объекта
//Using reflection to set a private field on an object
FieldUtils.writeField(controllerInstance, "domainCodes", new HashMap<>()) ;