gpt4 book ai didi

java - Mockito 是否支持使用 CDI 的 Instance<> 接口(interface)的 @Any @Inject?

转载 作者:搜寻专家 更新时间:2023-11-01 03:18:34 26 4
gpt4 key购买 nike

我有一个包含以下代码的类:

@Inject
@Any
private Instance<SomeInterface> SomeInterfaces;

这让我可以遍历该接口(interface)的所有实现。现在,我想测试一下,所以我声明了一些 @Mock的那些接口(interface),并希望 @InjectMocks他们进入我的测试单元。但那失败了。

是否可以很好地完成类似的事情,还是我必须创建一个 @Mock对于 Instance<SomeInterface>

最佳答案

Mockito 可以完成单元测试的全部工作。在这里你想测试你的代码如何与 CDI 上下文集成 => 你需要一个你使用的 CDI 上下文的实例。当然,您可以要求 Mockito 注入(inject)一些模拟,但这样您将测试 Mockito 内部注入(inject)系统而不是您的 CDI 上下文。 Mockito 警告您:

Mockito is not an dependency injection framework, don't expect this shorthand utility to inject a complex graph of objects be it mocks/spies or real objects.

关于java - Mockito 是否支持使用 CDI 的 Instance<> 接口(interface)的 @Any @Inject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38896041/

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