2

(バージョン 1.6) を使用して、いくつかのキャメル ルートの単体テスト ケースを作成する必要があります。

ルート内でコンポーネント(プロセッサとべき等消費者)をモックすることが可能かどうか、誰でも提案できますか? はいの場合、アプローチを提案してください。

以下はルートのスニペットです

    from("direct:someuri").process(someClassObject).
    idempotentConsumer(header("someHeadername"),socratesMessageIdRepository(bean(JpaTemplate.class)))./*process(exceptionProcessor)*/
    to(someQueues); 
4

1 に答える 1

3

Camel には、テストとモックのための優れたフレームワークがあります。

このテーマには多くのトピックがあります。ここから読み始めることをお勧めします: http://camel.apache.org/mockとここhttp://camel.apache.org/testing.html

Camel のソースには、テスト/モックの方法についてインスピレーションを得るために研究できるテスト ケースがたくさんあることに注意してください。元。http://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerTest.java

単にプロセッサをモックしたい場合は、代わりに Bean コンポーネントを使用してそれを参照によって呼び出すことができます。

from("foo").bean("myBean").to("bar);

Spring を使用している場合は、プロセッサのモック バージョンを挿入して myBean という名前を付けるだけです。spring がなくても、Camel には、実際のバージョンではなく、モック バージョンをバインドできるレジストリがあります。

于 2013-01-08T11:54:05.340 に答える