Как имитировать частный внутренний класс

У меня есть приложение Spring, и я хочу создать единый тест на таком контроллере. Проблема в том, что класс Wrapper является частным внутренним классом, поэтому Wrapper не понимается в тесте. Можно ли издеваться над этим с помощью Mockito, не меняя класс контроллера. Я могу использовать prepareData () для получения экземпляра объекта, но я не знаю, можно ли это использовать для имитации этого объекта.

Спасибо

@Controller
public class Controller {

    private class Wrapper {
        private Object1 field1;
        private Object2 field2;
        private Object1 method1(){
           ...
        }
        private Object2 method1(){
           ...
        }
    }

    @ModelAttribute("data")
    public Wrapper prepareData() {
            return new Wrapper ();
}

    public String save(@ModelAttribute("data") Wrapper wrapper, BindingResult result, Model model){
        ...
    }
}

Так что в моем тесте у меня будет что-то вроде этого

@Test
public void usernameEmpty(){

    BindingResult result = Mockito.mock(BindingResult.class);
    Model model = Mockito.mock(Model.class);
    Wrapper data = //how to mock it
    when(data.method1()).then(new Foo1());
    when(data.method2()).then(new Foo2());
    String returned = controller.save(data, result, model);
    ....
}
6
задан Javi 8 April 2011 в 09:40
поделиться