无法在我的测试中注射豆子(@Spy注射豆子的孩子)

  • 本文关键字:@Spy 孩子 测试 java mockito
  • 更新时间 :
  • 英文 :


当我进行测试时,我无法注入其中一个注入的豆子的属性(带有@Spy(。我正在使用Mockito进行测试。

我尝试在测试中在这个豆子中使用@Mock, @Spy, @SpyBean and @InjectMocks,但我无法注射它。

@RunWith(MockitoJUnitRunner.class)
public class MyTest{
    @InjectMocks private MyService = new myService();
    @Spy private MyFirtsDepen firstDepen;
    @Autowired @Spy private ChildDepen childDepen;
    ... More mocks and tests
}
@Service
public class MyService {
    @Autowired private MyFirstDepen firstDepen;
    ....
}
@Mapper
public class MyFirstDepen {
    @Autowired private ChildDepen childDepen;
    ....
}
@Component
public class ChildDepen {
    ... 
}
当我的测试使用 firstDepen

工作得很好,但是当 firstDepen 使用 childDepend时,总是得到 Nullpointer。如何在测试中注入此属性?

由于您的MyFirtsDepen是模拟的,因此无法向其注入任何内容。配置模拟以返回另一个模拟。

when(firstDepen.getChildDepen()).doReturn(childDepen);

相关内容

  • 没有找到相关文章

最新更新