gpt4 book ai didi

java - 多个级别的@Mock 和@InjectMocks

转载 作者:IT老高 更新时间:2023-10-28 21:08:09 31 4
gpt4 key购买 nike

所以我知道在 Mockito 中,@InjectMocks 会通过 @Mock 的注解注入(inject)任何它可以注入(inject)的东西,但是如何处理这种情况呢?

@Mock
private MockObject1 mockObject1;

@Mock
private MockObject2 mockObject2;

@InjectMocks
private SystemUnderTest systemUnderTest = new SystemUnderTest();

假设 MockObject2 有一个 MockObject1 类型的属性,而 SystemUnderTest 有一个 MockObject2 类型的属性。我想将 mockObject1 注入(inject)到 mockObject2 中,并将 mockObject2 注入(inject)到 systemUnderTest 中。

这可以通过注释实现吗?

最佳答案

由于我在这里没有得到任何回复,所以我在 Mockito 论坛上提问。这是讨论的链接:https://groups.google.com/d/topic/mockito/hWwcI5UHFi0/discussion

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

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

关于java - 多个级别的@Mock 和@InjectMocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6300439/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com