我遇到了有关在类中注入依赖项的问题。
类A有一个依赖项B,该依赖项用@Autowired注释。 B类本身使用@Service注释
在A的单元测试中,情况为:
@InjectMocks
private A a = new A();
@Mock B b
这很好。单元测试中的b被模拟,并且在类A中,依赖项B被正确注入。
然后我进行了更改,现在A具有另一个依赖项,C。C也是一个服务,它也像B一样自动绑定在A中。
我现在在单元测试中:
@InjectMocks
private A a = new A();
@Mock
B b;
@Mock
C c;
但是它不起作用。在单元测试代码中,模拟了c,但是在A依赖项中,没有注入C,并且它为null。
在Google搜索中,我遇到了this条文章。它提供了解决方案,但我不明白为什么不注入依赖C,而注入B。