springboot junit5 mock测试,怎么mock ServiceA中的ServiceB呢?
我有一个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即可。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
用
Mockito
可以指定mock的方法。