gpt4 book ai didi

java - @InjectMocks 的等效方法

转载 作者:太空狗 更新时间:2023-10-29 22:55:04 25 4
gpt4 key购买 nike

下面的方法等价于什么:

@Mock
MyType1 myType1;

@Autowired
@InjectMocks
MyType2 myType2;

我可以将 @Mock 替换为 mock(MyType1.class)

但是如何用方法调用替换 @InjectMocks 呢?像这样:

injectMocks(MyType2.class)

最佳答案

Mockito 中没有用于模拟注入(inject)的公共(public) API。此外,由于此注释主要由测试中布局事物的方式驱动,因此它与测试的初始化阶段相当相关。

虽然它可能会在未来的某个时候发生变化。

但是 Mockito 注释字段可以通过 MockitoJUnitRunnerMockitoAnnotations.initMocks() 进行初始化。他们都创建模拟实例并执行注入(inject)。

我还在你的代码中看到你正在使用 @Autowired - 因此是 spring 的东西,可能是通过 XML 配置的。 @InjectMocks 并不是真正为与其他依赖注入(inject)框架一起工作而开发的,因为开发是由单元测试用例驱动的,而不是集成测试。

您可能想看看 springockito ,这是另一个试图在 Spring 中简化 Mockito 模拟创建的项目。

希望对你有帮助

关于java - @InjectMocks 的等效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12854344/

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