我有一个ServiceA
@Service
public class ServiceA {
@Resource
private ServiceB serviceB;
public void helloWorld() {
if ("Hello World".equals(serviceB.get())) {
System.out.println("成功");
}
}
}
ServiceA
里面注入了serviceB
@Service
public class ServiceB {
public String get() {
return "我需要被mock";
}
}
这个时候,我如果写单元测试的话,我要怎么mock ServiceA
中的serviceB
对象呢?
注:代码都是页面上手敲的,没检查代码是否正确,主要是为了表达问题
ServiceA 中用到了ServiceB,关于mock的方案我这里找到了。https://segmentfault.com/a/11...
新增一个@InjectMocks注解即可。
但是,我又遇到了新的问题,我的ServiceB比较复杂,ServiceA用到了ServiceB很多的方法,但是我只是想改一个方法的返回值,有没有啥办法,能只mock ServiceB中的某一个方法呢?其他的就保持Spring注入的bean即可。