4.14. Camel Spring Boot でのテスト
Spring Boot で実行されている Camel の場合、Spring Boot は自動的に Camel と @Component
アノテーションが付けられたそのルートを組み込みます。Spring Boot でテストする場合、@ContextConfiguration
の代わりに @SpringBootTest
を使用して、使用する設定クラスを指定します。
異なる RouteBuilder クラスに複数の Camel ルートがある場合、Camel Spring Boot にはこれらのルートがすべて含まれます。1 つの RouteBuilder クラスのみからルートをテストする場合は、以下のパターンを使用して、有効にする RouteBuilder を include (含める) または exclude (除外) することができます。
- java-routes-include-pattern: パターンに一致する RouteBuilder クラスを include (含める) ために使用されます。
- java-routes-exclude-pattern: パターンに一致する RouteBuilder クラスを exclude (除外) するために使用されます。exclude は include よりも優先されます。
これらのパターンは、以下に示すように、ユニットテストクラスで @SpringBootTest
アノテーションのプロパティーとして指定できます。
@RunWith(CamelSpringBootRunner.class) @SpringBootTest(classes = {MyApplication.class); properties = {"camel.springboot.java-routes-include-pattern=**/Foo*"}) public class FooTest {
FooTest
クラスの include パターンは Ant スタイルパターンを表す **/Foo*
です。このパターンは、すべてのパッケージ名と一致する 2 つのアスタリスクで始まります。/Foo*
は、FooRoute のようにクラス名が Foo で始まる必要があることを意味します。以下の Maven コマンドを使用してテストを実行できます。
mvn test -Dtest=FooTest