Вы можете использовать именованные сообщения в разделе Given
или даже в фоне сценария:
Given message fooResponse
And <fooResponse> payload is "Hi my name is Foo!"
And <fooResponse> header operation is "sayHello"
...
Вы можете использовать именованное сообщение в сценарии, подобном следующему:
Scenario: Send and receive
When <client> sends message <fooRequest>
Then <client> should receive message <fooResponse>
Проверка всех элементов выполняется автоматически, когда средство проверки Citrus сравнивает полученное и ожидаемое содержимое сообщения.
Также вы можете извлечь создание сообщения для создателя сообщения Java POJO:
Background:
Given message creator com.consol.citrus.FooMessageCreator
public class FooMessageCreator {
@MessageCreator("fooResponse")
public Message createEchoResponse() {
return new DefaultMessage("Hi my name is Foo!")
.setHeader("operation", "sayHello");
}
}
InВ случае, если вам нужно иметь дело с большими полезными нагрузками XML / Json, вы также можете загрузить эти полезные нагрузки из внешнего ресурса шаблона файла.Вместо того, чтобы устанавливать каждый элемент в отдельном явном операторе Then
, вы должны использовать шаблонную проверку сравнения, которая также может использовать разделы @ignore@
для игнорирования частей сообщения, которые не имеют отношения к проверке.