Я работаю над проектом Spring Boot, используя RabbitMQ через Spring AMQP. Мы хотели бы иметь возможность протестировать поведение нашего приложения, когда публикация сообщения имеет NACK (в частности, когда аргумент ack PublisherConfirmCallback#confirm имеет значение false). Однако нам сложно реализовать этот сценарий в интеграционном тесте (то есть при работающем приложении, а не в модульном тесте).
Просто чтобы будьте ясны: мы тестируем подтверждения издателя, а не подтверждения потребителя.
Мы знаем, что вы можете получить доступ к каналу с помощью метода выполнения RabbitTemplate, но наш RabbitMQ автоматически подтверждается, поэтому сообщение уже прошло время выполнения обратного вызова канала. Мы думаем, что сможем либо отключить автоматическое подтверждение во время выполнения (чтобы не прерывать набор тестов), либо просто заблокировать канал и получать по нему сообщение вручную в тесте, но мы не можем понять как это сделать. Но на самом деле любой способ вызвать NACK во время теста был бы отличным.
tl;dr, как получить сообщение из клиентского кода
Подробнее здесь: https://stackoverflow.com/questions/352 ... or-testing
Как я могу заставить брокера RabbitMQ NACK отправить сообщение для тестирования? ⇐ JAVA
Программисты JAVA общаются здесь
1734018227
Anonymous
Я работаю над проектом Spring Boot, используя RabbitMQ через Spring AMQP. Мы хотели бы иметь возможность протестировать поведение нашего приложения, когда публикация сообщения имеет NACK (в частности, когда аргумент ack PublisherConfirmCallback#confirm имеет значение false). Однако нам сложно реализовать этот сценарий в интеграционном тесте (то есть при работающем приложении, а не в модульном тесте).
Просто чтобы будьте ясны: мы тестируем подтверждения издателя, а не подтверждения потребителя.
Мы знаем, что вы можете получить доступ к каналу с помощью метода выполнения RabbitTemplate, но наш RabbitMQ автоматически подтверждается, поэтому сообщение уже прошло время выполнения обратного вызова канала. Мы думаем, что сможем либо отключить автоматическое подтверждение во время выполнения (чтобы не прерывать набор тестов), либо просто заблокировать канал и получать по нему сообщение вручную в тесте, но мы не можем понять как это сделать. Но на самом деле любой способ вызвать NACK во время теста был бы отличным.
tl;dr, как получить сообщение из клиентского кода
Подробнее здесь: [url]https://stackoverflow.com/questions/35278875/how-can-i-force-a-rabbitmq-broker-to-nack-a-message-for-testing[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия