【发布时间】:2021-03-22 12:26:09
【问题描述】:
我想模拟类似的东西
public class B {
@autowired
protected SomeInterface c; // interface
public String methodToBeCalled(SomeClass a, SomeClass b) {
... some opertations;
c.methodIWantToMock(x, y);
}
}
所以在通常情况下,我会创建一个 B 类的对象,然后将所有其他类初始化为 Mock,但由于 c 是一个接口并且是自动装配的,我还无法找到模拟它的方法,我查阅了其他帖子,但没有一个与此案有关。
有没有办法在春季仅使用 Junit 和 Mockito 实现这一目标。
【问题讨论】:
-
尝试使用
@Mock注解模拟接口。然后你可以在你想要的方法上使用Mockito.lenient.when(Mockito.any(), Mockito.any()).then()。 -
这能回答你的问题吗? Mocking an interface with Mockito
-
你应该使用构造函数注入而不是字段注入。
标签: java spring-mvc junit mockito