Тестирование от конечных точек с CamelBlueprintTestSupport завершается неудачно с некоторыми компонентами - PullRequest
0 голосов
/ 02 октября 2019

Я бы хотел протестировать верблюжьи маршруты, реализованные с помощью Blueprint-XML. При попытке проверить маршрут с помощью простой «прямой» -конечной точки все работает нормально.

Но при изменении конечной точки «от» на компонент нетто или причала тест завершается неудачей со следующим исключением:

java.lang.RuntimeException: возникло ожидание BlueprintContainer из пакета «MyRouteTest»

Маршрут, который у меня есть, выглядит следующим образом:

<route id="test">
 <from uri="jetty:http://test:8080/sample/test?matchOnUriPrefix=true" />
 <log id="_log1" loggingLevel="INFO" message="Test " />
</route>

Мой тестовый класс, расширяющий CamelBlueprintTestSupport, выглядит следующим образом:

// imports...

public class MyRouteTest extends CamelBlueprintTestSupport {


    @Override
    protected String getBlueprintDescriptor() {
        return "/OSGI-INF/blueprint/blueprint2.xml";
    }

    @Test
    public void testRoute() throws Exception {

        context.getRouteDefinition("test").adviceWith(context, new AdviceWithRouteBuilder() {
            @Override
            public void configure() throws Exception {
                replaceFromWith("direct:myMock");
            }
        });
        assert (true);

    }
}

Изменение маршрута на

<route id="test">
  <from
    uri="direct:halloTest" />
  <log id="_log1" loggingLevel="INFO" message="Test " />
</route>

путем замены части от пристани на прямую работает нормально (например, тест выполняется без ошибок и, конечно, заканчивается положительно из-за проверки assert (true))

Кто-нибудь может мне помочь?

Результат теста mvn составляет

ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 31.843 s <<< FAILURE! - myPackage.MyRouteTest
[ERROR] testRoute(myPackage.MyRouteTest)  Time elapsed: 31.544 s  <<< ERROR!
java.lang.RuntimeException: Gave up waiting for BlueprintContainer from bundle "MyRouteTest"

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   MyRouteTest>CamelBlueprintTestSupport.setUp:241->CamelBlueprintTestSupport.createBundleContext:175 ▒ Runtime
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0

1 Ответ

0 голосов
/ 08 октября 2019

Задача состоит в том, чтобы добавить следующий код в класс тестирования:

Изменение маршрута на

    @Override
    public boolean isUseAdviceWith() {
        return true;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...