gpt4 book ai didi

java - 如何在使用 bean 的 Camel 单元测试中注册 bean?

转载 作者:行者123 更新时间:2023-12-02 13:29:53 25 4
gpt4 key购买 nike

我想对使用 bean 的 java 中配置的单个路由进行单元测试。我在《camel in action》(第 6.1.4 章)中读到了如何做到这一点:

protected RouteBuilder createRouteBuilder() throws Exception {
return new myRoute();
}

但就我而言,路由需要注册一些 bean。我知道如何在独立应用程序中注册bean:see here但是如何在“CamelTestSupport”中注册bean呢?有没有一种方法可以在没有注册表的情况下使用bean?可能是通过注入(inject)它们(所有bean都没有arg构造函数)?我正在使用 Guice,并且在测试中我使用的是 Jukito (Guice+Mockito)。

最佳答案

Afer Camel 3.0.0

您现在可以从任何有权访问 Camel 上下文的地方更新 JNDI 注册表。

context.getRegistry().bind("myId", myBean);

更多信息请点击 https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_camel_test

Camel 3.0.0 之前

您需要重写 createRegistry() 方法,

@Override
protected JndiRegistry createRegistry() throws Exception {
JndiRegistry jndi = super.createRegistry();

//use jndi.bind to bind your beans

return jndi;
}

@Test
public void test() {
//perform test
}

关于java - 如何在使用 bean 的 Camel 单元测试中注册 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23134972/

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