【发布时间】:2021-01-11 10:01:47
【问题描述】:
我有一个无法更改的接口及其实现。 界面如下:
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 接口的实现,Hello(它是 final 类),它只是覆盖了 IHello 接口的功能,没有做任何其他事情。这意味着它没有使用接口的任何嵌套部分。
它现在在代码中的某处被用作:
String string = IHello.IoH.getHello().getInfo(); // getInfo() is method of interface
我正在进行单元测试,我想使用 MockImplementation 模拟此 IHello.IoH.getHello() 或 IHello.IoH.getHello().getInfo() IHello 接口和使用 Mockito 注入一些 bean或...
我该怎么做?
【问题讨论】:
-
请创建这样的接口的人应该....无论如何,如果您使用 Mockito 3.4.0 或更高版本,您可以通过
MockedStatic尝试解决它 -
感谢您的帮助!我浏览了文档并找到了这个。终于解决了。
标签: java spring spring-boot unit-testing mockito