Тесты с JMS и Spring - PullRequest
       3

Тесты с JMS и Spring

2 голосов
/ 03 апреля 2012

В моей системе я использую Spring и JMS (HornetQ).

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

Поскольку основной поток тестирования не знает, что в фоновом режиме работает другой поток, который имеет отношение к тесту, он выходит и переходит к следующему тесту до завершения потока JMS. Это превращает мою жизнь в настоящий ад, поскольку мне нужно написать хуки JMS, чтобы я мог дождаться окончания потока JMS, прежде чем я смогу двигаться дальше. Независимо от того, как я стараюсь, у меня проблемы с перехватом всех этих тем.

Что я действительно хотел бы сделать, так это чтобы событие, которое я выбрасываю в очередь сообщений, запускалось в том же потоке, в котором выполняются сами тесты. Таким образом, обработка сообщения должна быть завершена до завершения самого теста. Как я могу это сделать?

- После редактирования-- Прошло некоторое время с тех пор, как я задал этот вопрос, и до сих пор нет ответа. Неужели никто не реализовал такое простое решение для jms в тестовой среде?

1 Ответ

3 голосов
/ 10 апреля 2012

Если вы хотите сделать несколько асинхронных тестов, взгляните на
Awaitility
.

Я использовал его, и он неплохо справляется с работой :) 1006 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...