Кто-нибудь знает, как мы можем тестировать потоки сообщений IBM MQ изолированно, используя заглушки? - PullRequest
0 голосов
/ 09 ноября 2018

Я новичок в IBM-MQ и пытаюсь понять, как мы можем выполнить модульное тестирование потоков сообщений.

Мне известны такие инструменты, как CA Lisa, для виртуализации сервисов и тестирования на уровне тестирования системы.

Но в моем случае я ищу среду модульного тестирования, такую ​​как тесты Java Junit, где разработчик может создавать тесты и необходимые заглушки для независимой проверки потоков сообщений IBM MQ.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Начало использования MEST Messaging REST API Использование REST API обмена сообщениями , доступный в MQ V9.1.0.0, а на самом деле V9.0.0.4, я верю.

Раньше я использовал все виды обходных путей в прошлом, но если вы хотите просто помещать сообщения в очереди и получать их из них и устанавливать MQ 9.1 или устанавливать его, вы можете использовать MQ Messaging REST API

HTTP POST для ... / ibmmq / rest / v1 / messaging / qmgr / QMGR1 / queue / Q1 / message переведет ваше сообщение в Q1

УДАЛЕНИЕ HTTP на ... / ibmmq / rest / v1 / message / qmgr / QMGR1 / queue / Q1 / message ПОЛУЧИТ ваше сообщение от Q1

Я использую Postman для этого, но нет никаких причин, по которым вы не можете использовать SoapUI или любые другие ваши любимые инструменты тестирования.

Одно предостережение в настоящее время заключается в том, что вы ограничены текстовыми сообщениями, но, учитывая очень высокий процент сообщений, представляющих собой XML, JSON или CSV, есть большая вероятность, что это может вам подойти.

0 голосов
/ 10 ноября 2018

Мы пишем интеграционные тесты против развернутых потоков. Мы используем Spring Testframework и Junit в качестве базы.

Вот некоторые мысли о нашем тестировании:

  • Для синхронных зависимостей мы либо пишем фиктивные потоки, которые развертываем в отдельном приложении IIB, либо используем помощники JUnit для таких вещей, как SMTP и LDAP .

  • Для асинхронных зависимостей, таких как IBM MQ, которые мы используем в наших тестах JmsTemplate или непосредственно IBM MQ для JMS для отправки и получения сообщений , Перед каждым тестом мы очищаем очереди сообщениями PCF .

  • Для файловых узлов мы используем переменную окружения MQSI_FILENODES_ROOT_DIRECTORY в реальном потоке и в Junit, чтобы легко находить файлы. Мы также очищаем каталоги ввода и вывода файла перед каждым тестом, чтобы начать очистку.

  • Чтобы ускорить модульные тесты и проверить такие вещи, как утверждение о том, что сообщения не поступило , мы подписались в наших тестах Junit на Мониторинг событий . Когда мы получаем событие завершения транзакции, мы уверены, что поток завершен, и можем утверждать, что файл находится там, что в определенной очереди нет сообщений и т. Д.

...