У меня есть одноэлементный класс S, который реализует интерфейс I. У одноэлементного класса есть метод A, который inturn вызывает метод B. Я должен проверить метод A.
Это мой одноэлементный класс
public class S implements I{
private static S INSTANCE = new S();
public static I getInstance(){
return INSTANCE;
}
public String methodA(){
methodB();
}
}
Вот так выглядит мой метод в тестовом классе.
public void testMethodA(){
S so = S.getInstance();
S spy = Mockito.spy(so);
Mockito.doReturn(something).when(spy).methodB(); // I have to cut the dependency of this method B, hence will stub this
String exp_value = 'X';
assertEquals(exp_value,spy.methodA);
}
Проблема в том, что реальный метод B называется instsead заглушки и, следовательно, мой тест не пройден. Может ли кто-нибудь помочь, и дайте мне знать, если я делаю что-то здесь не так.