0
ルーティング用のユニットテストを作成しようとしています。 私はどのように私は「barProcessor」と「bieProcessor」を模擬することができ、キャメル:テストするプロセッサをモックするルート
from ("direct:getA")
.routeId("get-a").startupOrder(1)
.process(exchange -> {
QueryObject queryObject = exchange.getIn().getBody(QueryObject.class);
exchange.getIn().setHeader(foo, queryObject.getH());
exchange.setOut(exchange.getIn());
})
.choice()
.when(header(foo).isEqualTo(fooConstant.bar))
.process("barProcessor")
.when(header(foo).isEqualTo(fooConstant.bie))
.process("bieProcessor")
.end();
私の質問は、以下のルート設定がありますか?
私はadviceWithを使用しようとしましたが、私はrouteDefinitionを取得できませんでした。 context.getRouteDefinitions()は空のリストを返します。
編集: 以下は私のテストのコードスニペットです。
RouteDefinition routeDef = context.getRouteDefinition("get-a");
routeDef.adviceWith(context, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
interceptSendToEndpoint("*barProcessor*").process(
new Processor() {
@Override
public void process(Exchange exchange) {
System.out.println("bar");
}
}
);
interceptSendToEndpoint("*bieProcessor*").process(
new Processor() {
@Override
public void process(Exchange exchange) {
System.out.println("Bie");
}
}
);
}
});
String request = <JSON Request>;
websocket.sendTest(request);
しかし、context.getRouteDefinition("get-a");
はnullを返しています。私もcontext.getRouteDefinitions()
を使用した場合、空のリストを返します。
は私の編集を参照してください@MaciejKowalskiが –
に行くのがたくさんある..あなたがその場合は、行う必要があります正確に何も...何をしたか私たちを見ます。ありがとう。 – Ronnie