我有一个测试班。在该测试类中,调用以下方法。
JanrainLoginResponse output = janrainService.authenticate(input);
janrainService如此初始化
@InjectMocks
private JanrainServiceImpl janrainService;
验证方法中的代码:
JanrainResource data = janrainClient.checkLogin(input);
在服务类中正确调用了 janrainClient
。在JanrainClient
类中,apiDetails像这样初始化。
@Autowired
public JanrainApiDetails apiDetails;
但是当我使用apiDetails详细信息时,我得到了空指针异常。那么如何注入这个豆子呢? 一级模拟工作正常,但在第三级模拟中,未完成bean注入。
答案 0 :(得分:0)
只需添加
@Mock
private JanrainApiDetails apiDetails;
通过这种方式,bean被模拟并注入到服务中(用@InjectMocks注释)。