@Mock和@InjectMocks的多个级别

因此,我了解到在Mockito中,@ InjectMocks将使用@Mock的注解注入所有可以注入的内容,但是如何处理这种情况呢?

@Mock

private MockObject1 mockObject1;

@Mock

private MockObject2 mockObject2;

@InjectMocks

private SystemUnderTest systemUnderTest = new SystemUnderTest();

假设MockObject2的属性类型为MockObject1,而SystemUnderTest的属性类型为MockObject2。我想将模拟对象1注入到模拟对象2中,并将模拟对象2注入到systemUnderTest中。

注释可以吗?

回答:

由于我在这里没有任何回应,因此我在Mockito论坛上进行了询问。这是讨论的链接:https

:

//groups.google.com/d/topic/mockito/hWwcI5UHFi0/discussion

总结答案,从技术上讲,这将使模拟的目的失效。您实际上应该只模拟SystemUnderTest类所需的对象。在本身是模拟对象的对象中模拟事物是毫无意义的。

如果您真的想这样做,@ spy可以提供帮助

以上是 @Mock和@InjectMocks的多个级别 的全部内容, 来源链接: utcz.com/qa/420706.html

回到顶部