весенний облачный контракт - тур - вопрос тела запроса


person davidfrancis    schedule 06.06.2019    source источник


Ответы (1)


Разница в том, что в Groovy DSL мы можем кодировать sth, а YAML просто декларативен. В Groovy в теле мы можем указать, что значение определенной части тела будет динамическим. Затем во время выполнения мы сгенерируем фиксированное значение (например, для сгенерированных тестов). Вы также можете добиться того же с помощью раздела bodyMatchers.

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

person Marcin Grzejszczak    schedule 06.06.2019
comment
Спасибо за информацию. Значит, разница преднамеренная? (может, стоит назвать это в туре?) - person davidfrancis; 06.06.2019
comment
И, пожалуйста, не могли бы вы прямо ответить на вопрос 2? Превращено ли это в тесты на стороне производителя, и должна ли моя реальная реализация службы обрабатывать client.id 1234567890? Кроме того, в сценарии Groovy DSL вы говорите, что значение client.id создается - из регулярного выражения? Я новичок в этом и нахожу это довольно запутанным - person davidfrancis; 06.06.2019
comment
›Q2. Правильно ли, что они превращены в тесты на стороне производителя, поэтому они выполняются против моей реальной реализации службы? верный. Ответы на все ваши вопросы содержатся в документации проекта. Прочтите его spring.io/projects/spring-cloud-contract#learn - person Marcin Grzejszczak; 06.06.2019
comment
Спасибо. Я читал это, да. Последний вопрос, если вы мне позволите, пожалуйста: сгенерированные тесты Producer также запускаются против сгенерированной службы wiremocked? Я не думаю, что это так, поскольку оба генерируются из одного и того же контракта, поэтому в любом случае это было бы бессмысленно, но я хотел бы дважды проверить. - person davidfrancis; 06.06.2019
comment
Нет, они не. Можем ли мы отметить это как ответ, пожалуйста? - person Marcin Grzejszczak; 06.06.2019