Есть ли в Apache Camel аннотация для загрузки определенного RouteBuilder во время теста? - PullRequest
0 голосов
/ 05 января 2012

Предположим, у меня есть несколько тестов на одном и том же RouteBuilder, который настроен по-разному для каждого теста.

Теперь тест Spring должен:

  • расширить что-то вроде AbstractJUnit4SpringContextTests
  • быть аннотированным @ContextConfiguration (location = "test-context.xml")
  • включает RouteBuilder в контекст: <camel:camelContext id="whatever"><camel:routeBuilder ref="routeBuilderUnderTesting" /></camel:camelContext>

Это означает, что у каждого тестового класса должен быть определенный xml-файл контекста, указывающий на требуемый RouteBuilder (это версия тестируемого RouteBuilder, но настроенная специально)

Что, если я хочу, чтобы все версии RouteBuilders тестировались в одном и том же контексте xml (или даже не так, просто аннотируйте их с помощью @Component вместо того, чтобы помещать их в xml) и в каждом тесте указывайте фактическую реализацию RouteBuilder для тестирования?

Есть ли такая аннотация в тесте верблюжьей пружины (чтобы указать, какой бин нужно запустить как RouteBuilder)?

Ответы [ 2 ]

1 голос
/ 06 января 2012

Смотрите на этой странице, как использовать <camel:contextScan/> http://camel.apache.org/spring.html

Тогда вы можете просто аннотировать свои классы RouteBuilder модульного теста с помощью аннотации Spring @Component.

0 голосов
/ 06 января 2012

Почему вы не используете обычные верблюжьи классы TestSupport без пружины?Там вы просто создаете экземпляр RouteBuilder с новым и вам не нужно заботиться о аннотациях.

...