2016-10-06 8 views
1

Мы используем простой Spring AMQP в наших проектах весеннего сапога.Весенний облачный контракт и простая весна AMQP

Мы хотим, чтобы наши потребители сообщений могли протестировать настоящие сообщения и избежать проверки статических тестовых сообщений.

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

Кажется, Spring Cloud Contract делает именно это. Так есть ли способ интегрировать контракт весеннего облака с весной amqp? Любые намеки, в каком направлении идти, будут высоко оценены.

ответ

4

На самом деле мы не поддерживаем его из коробки, но вы можете настроить его самостоятельно. В автогенерированных тестах мы используем интерфейс для приема и отправки сообщений, поэтому вы можете реализовать свой собственный класс, который использует Spring-amqp. То же самое касается потребительской стороны (бегун-заглушка). Что вам нужно будет сделать, так это реализовать и зарегистрировать компонент типа org.springframework.cloud.contract.verifier.messaging.MessageVerifier как для производителя, так и для потребителя. Это должно привести к тому, что мы делаем в автогенерированных тестах: @Inject MessageVerifier , поэтому, если вы зарегистрируете свой собственный компонент, он будет работать.

UPDATE: Как @Mathias упомянул это, AMQP поддержка уже есть в Spring Cloud Контракту https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html#_stub_runner_spring_amqp

+0

благодаря Marcin - ваши намеки и глядя на одном из сгенерированных тестов сделал щелчок для меня - и я думаю, Теперь я могу попытаться реализовать интеграцию - кажется, довольно небольшая вещь. –

+0

Удивительный! Давайте посмотрим, будет ли это работать :) Можем ли мы отметить это как ответ? –

+1

Между тем, я добавил интеграцию весной-amqp в spring-cloud-contract. Таким образом, теперь он поддерживается из-за коробки https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html#_stub_runner_spring_amqp –