第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Spring Boot 中測試 Camel 處理器

在 Spring Boot 中測試 Camel 處理器

幕布斯7119047 2023-09-20 17:05:07
我正在嘗試在 Spring Boot 中測試 Camel 處理器。然而,即使遵循 Camel in Action 和其他答案的指導,我也會遇到很多異常。我使用的是駱駝3.0.0-M4例如,這是我的測試:@SpringBootTest@BootstrapWith(SpringBootTestContextBootstrapper.class)public class MyProcessorTest extends CamelTestSupport {    @Produce    ProducerTemplate template;    @EndpointInject(uri = "mock:out")    private MockEndpoint resultEndpoint;    @Before    public void setUp() throws Exception {        super.setUp();    }    @BeforeClass    public static void stopCamelStart() {        SpringCamelContext.setNoStart(true);    }    @AfterClass    public static void enableCamelStart() {        SpringCamelContext.setNoStart(false);    }    @Before    protected RouteBuilder createRouteBuilder() throws Exception {        return new RouteBuilder() {            @Override            public void configure() throws Exception {                from("seda:test")                        .process(new MyProcessor())                        .to("mock:out");            }        };    }    @Test    public void testPrepend() throws Exception {        Map<String, String> body = new HashMap<String, String>();        body.put("test", "body");        template.sendBody("seda:test", body);        String result = resultEndpoint.getExchanges().get(0).getIn().getBody(String.class);    }}我得到一個java.lang.ArrayIndexOutOfBoundsException如果我嘗試啟動駱駝上下文,context.start();我會得到一個java.lang.NullPointerException如果我交換發(fā)送正文的路線,則template.sendBody("mock:out", body);不會發(fā)生任何處理。如果我從 改為 ,seda:test我direct:test會得到一個非常慢的運行測試并且org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: direct://test我哪里錯了??
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經(jīng)驗 獲得超8個贊

在第一個視圖中,您有兩種標有 的方法@Before。JUnit 根本不保證兩者的執(zhí)行順序。所以也許這會造成麻煩。


但是,我認為沒有必要設(shè)置 Camel Route Test 來測試 Processor

我強烈建議用POJO替換您的處理器(它們很笨拙且難以測試),并用 來調(diào)用它而不是..bean.processor

  • Bean 非常容易測試

  • 您可以使用超級快的普通 JUnit 測試

  • 您可以將消息部分注入到您的方法中,而不是通過 Camel Exchange 進行導航


查看完整回答
反對 回復 2023-09-20
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號