Unitils @InjectInto - 它是如何处理的?

发布于 2024-12-17 04:53:42 字数 362 浏览 4 评论 0原文

谁能与我分享一下 Unitils @InjectInto 或 @InjectIntoByType 注释是如何处理的?

我已经检查了UnitilsJUnit4.class,这是处理此注释所必需的。这反过来又需要扩展 JUnit4ClassRunner 的 UnitilsJUnit4TestClassRunner.class。 AFAIK,UnitilsJUnit4TestClassRunner 没有任何关于 Unitils 如何处理注释 @InjectInto 的实现。

这个问题背后的基本思想 - 此注释不支持 Mockito 模拟的注入。我只是想检查是否可以添加一些可以做到这一点的实现。如果有任何其他直接解决方案将 Mockito 与 Unitils 集成,我们也欢迎。

Could anyone please share with me how Unitils @InjectInto or @InjectIntoByType annotations are being processed?

I have checked UnitilsJUnit4.class, which is required for processing this annotation. That in turn needs UnitilsJUnit4TestClassRunner.class which extends JUnit4ClassRunner. AFAIK, UnitilsJUnit4TestClassRunner does not have any implementation on how Unitils processes the annotation @InjectInto.

The basic idea behind this question - This annotation does not support injection of Mockito mocks. I just want to check if it is possible to to add some implementation that can do this. If there is any other direct solution that integrates Mockito with Unitils, even that is welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁的新欢旧爱 2024-12-24 04:53:42

它在 Injection 模块中进行处理(请参阅 org.unitils.inject.InjectModule 和 org.unitils.inject.util 包中的类)。不幸的是我无法给你具体的答案。有关更多信息,您必须调试或等待其他答案;)

It is processed in the Injection module (see org.unitils.inject.InjectModule and the classes inside org.unitils.inject.util package). Unfortunately i cannot give you the specific answer. For further information you have to debug or wait for additional answers ;)

杀手六號 2024-12-24 04:53:42

是的 Unitils 不支持 Mockito。然而,Mockito 附带了方便的模拟注入实用程序注释。

您可以在 JUnit 测试中编写类似的内容:

@RunWith(MockitoJUnitRunner.class)
class MessageEchoerTest {
    @Mock Message message;
    @InjectMocks MessageEchoer messageEchoer;
}

请注意,它仅适用于 mockito 模拟或间谍。

Yeah Unitils doesn't support Mockito. However Mockito comes with handy mock injection utility annotations.

You could write in your JUnit test something like that :

@RunWith(MockitoJUnitRunner.class)
class MessageEchoerTest {
    @Mock Message message;
    @InjectMocks MessageEchoer messageEchoer;
}

Note that it only works with mockito mocks or spies.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文