У меня тестируется следующий класс. Мне нужно смоделировать вызов метода - instalilishConnection из конструктора, который возвращает void.
public class ClassToBeTested {
private ClassToBeMocked classToBeMocked;
private String name;
private int age;
ClassToBeTested(ClassToBeMocked classToBeMocked, String name){
this.classToBeMocked = classToBeMocked;
this.name = name;
age = this.getAge(name);
this.estabilishConnection();
}
private int getAge(String name){
int age = (int) classToBeMocked.getNameAgeMap().get(name);
return age;
}
private void estabilishConnection(){
``````````````````````````
````````````````````````
}
}
Ниже приведен метод, который я пробовал. Но это не работает
@Test
public void testMethodInClassToBeMocked(){
ClassToBeMocked mockApp = Mockito.mock(ClassToBeMocked.class);
HashMap testMap= new HashMap();
testMap.put("xys", 11);
Mockito.when(mockApp.getNameAgeMap()).thenReturn(testMap);
///PowerMockito for mocking the void method
PowerMockito.spy(ClassToBeTested.class);
PowerMockito.doNothing().when(ClassToBeTested.class, "estabilishConnection");
ClassToBeTested classTest = new ClassToBeTested(mockApp, "xys");
//Assertion of method in the test class goes here
}
Как я могу заставить метод установить соединение ничего не делать?