Mockito是否支持@Any @Inject与CDI的实例<>接口?

时间:2016-08-11 12:11:23

标签: java mockito cdi

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

@Inject
@Any
private Instance<SomeInterface> SomeInterfaces;

这允许我迭代该接口的所有实现。 现在,我想对此进行测试,因此我声明了这些接口的一些@Mock,并希望@InjectMocks将它们放入我测试的单元中。但那失败了。

是否有可能做得很好,或者我必须为@Mock创建Instance<SomeInterface>

1 个答案:

答案 0 :(得分:2)

Mockito可以完成单元测试的全部工作。在这里,您要测试代码如何与CDI上下文集成=&gt;您需要一个您使用的CDI上下文的实例。当然,你可以要求Mockito注入一些嘲讽,但这样你就会测试Mockito内部注射系统,而不是你的CDI环境。 Mockito警告你:

  

Mockito不是一个依赖注入框架,不要指望这个简写实用程序能够注入一个复杂的对象图形,无论是模拟/间谍还是真实对象。