首页 > 解决方案 > Junit:注入依赖项

问题描述

我遇到了一个关于在类中注入依赖项的问题。

A 类有一个依赖项 B,它用 @Autowired 注释。B类本身用@Service注解

在 A 的单元测试中,情况如下:

@InjectMocks
private A a = new A();

@Mock B b

这工作得很好。单元测试中的 b 被模拟,并且在类 A 中,依赖项 B 被正确注入。

然后我做了一个改变,现在 A 有了另一个依赖项,C.C 也是一个服务,它也自动在 A 中,就像 B 一样。

在单元测试中,我现在做:

@InjectMocks
private A a = new A();

@Mock 
B b;

@Mock 
C c;

但它不起作用。在单元测试代码中,c 被模拟,但在 A 中,依赖项 C 没有被注入并且它为空。

在谷歌搜索中,我看到了这篇文章。它提供了解决方案,但我无法理解为什么依赖项 C 没有被注入,而 B 被注入。

标签: junitmockingmockito

解决方案


推荐阅读