변경할 수없는 인터페이스와 구현이 있습니다. 인터페이스는 다음과 같습니다.
public Interface IHello{
// ... some method declarations
public static class IoH{
static IHello hello = new IHello.IoH.HelloImpl();
public IoH(){}
public static IHello getHello(){
return hello;
}
private static class HelloImpl implements IHello{
// .... constructor and methods....
}
}
}
또한 IHello 인터페이스 의 기능을 재정의하고 다른 작업을 수행하지 않는 IHello 인터페이스 인 Hello ( 최종 클래스 ) 의 구현도 제공 됩니다. 즉, 인터페이스의 중첩 된 부분을 사용하지 않습니다.
이제 코드에서 다음과 같이 사용됩니다.
String string = IHello.IoH.getHello().getInfo(); // getInfo() is method of interface
나는 단위 테스트 중이며 IHello 인터페이스 의 MockImplementation 과 일부 빈을 주입 하거나 Mockito를 사용 하여이 IHello.IoH.getHello () 또는 IHello.IoH.getHello (). getInfo () 를 조롱 하고 싶습니다.
어떻게 할 수 있습니까?