Как заставить интеграционные тесты Camel работать с @TestInstance.LifeCycle.PER_CLASS JUnit?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить интеграционные тесты Camel работать с @TestInstance.LifeCycle.PER_CLASS JUnit?

Сообщение Anonymous »

Я разрабатываю интеграционные тесты для Camel с JUnit. Точнее, я использую следующую библиотеку: org.apache.camel:camel-test-spring-junit5:4.7.0. Интеграционные тесты работают нормально, когда для @TestInstance установлено значение TestInstance.LifeCycle.PER_METHOD:

Код: Выделить всё

@SpringBootTest
@CamelSpringBootTest
@TestInstance(TestInstance.Lifecycle.PER_METHOD)
@MockEndpoints("mllp:localhost:2575")
class GreetingsMllpRouterUnitTest {

@Autowired
private ProducerTemplate template;

@EndpointInject("mock:mllp:localhost:2575")
private MockEndpoint mock;

@Test
void whenSendBody_thenGreetingReceivedSuccessfully() {
var expectedResponse = "Hello World!";
mock.returnReplyBody(ExpressionBuilder.bodyExpression(String.class, func -> expectedResponse));
var resp = template.requestBody("mock:mllp:localhost:2575", "Hello Baeldung Readers 2!");
Assertions.assertEquals(expectedResponse, resp);
}
}

Однако, когда я изменяю @TestInstance так, чтобы для него было установлено значение TestInstance.LifeCycle.PER_CLASS (при прочих равных условиях), я получаю следующую ошибку:

Исключение произошло во время выполнения на бирже: Exchange[]
org.apache.camel.CamelExecutionException: Исключение произошло во время выполнения на бирже: Exchange []
в org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:45)
в org.apache.camel.support.ExchangeHelper.extractResultBody(ExchangeHelper.java:691)
в org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:591)
в org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:182)
в org.apache.camel.impl.engine.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:372)
в com.myapp.GreetingsMllpRouterUnitTest.whenSendBody_thenGreetingReceivedSuccessfully...

Как заставить тест работать с установленным флагом PER_CLASS?

Подробнее здесь: https://stackoverflow.com/questions/788 ... e-lifecycl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Какое использование аннотация @testinstance в 5 Junit 5?
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Дублирующийся класс androidx.lifecycle.ViewModelLazy найден в модулях lifecycle-viewmodel-2.5.0-runtime
    Гость » » в форуме Android
    0 Ответы
    71 Просмотры
    Последнее сообщение Гость
  • Не удалось разрешить: androidx.lifecycle:lifecycle-extensions-ktx:2.0.0-alpha1.
    Гость » » в форуме Android
    0 Ответы
    78 Просмотры
    Последнее сообщение Гость
  • (Java) Обновление androidx.lifecycle:lifecycle-viewmodel
    Anonymous » » в форуме Android
    0 Ответы
    81 Просмотры
    Последнее сообщение Anonymous
  • Androidx.lifecycle:lifecycle.viewmodel.compose против androidx.hilt:hilt.navigation.compose
    Anonymous » » в форуме Android
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»