mockito - 在 Spring Boot 中未在 Mockito 中注入 Autowired
问题描述
我有一个测试班。在该测试类中调用以下方法。
JanrainLoginResponse output = janrainService.authenticate(input);
janrainService 是这样初始化的
@InjectMocks
private JanrainServiceImpl janrainService;
验证方法中的代码:
JanrainResource data = janrainClient.checkLogin(input);
janrainClient
在服务类中正确调用。在JanrainClient
类 apiDetails 中是这样初始化的。
@Autowired
public JanrainApiDetails apiDetails;
但是当我使用 apiDetails details 我得到空指针异常。那么如何注入这个bean呢?第一级模拟工作正常,但在第三级 bean 注入中没有完成。
解决方案
只需添加
@Mock
private JanrainApiDetails apiDetails;
通过这种方式,bean 被模拟并注入到服务中(使用@InjectMocks 进行注释)。
推荐阅读
- c++ - 在 ncurses 中使用 unicode 字符创建边框
- javascript - 如何从 Firebase 获取 .get() 以集成到 Discord.JS
- javascript - 迭代数组,里面有 promise 并等待完成
- node.js - npm install 无法为我创建的 nano-react-app 安装依赖项
- c# - 滚动条时的C#复选框标题问题
- javascript - 如果语句在使用 javascript 或 jsx 时不起作用
- java - 从第 3 方存储库下载并逐块直接上传到 S3
- java - 有没有办法让 Stack 数据结构逐部分占用与其他编码部分一起解析的文件?
- javascript - JavaScript中的自定义异步函数不起作用
- time-series - 具有时变自变量的线性回归