весенний облачный контракт - тур - запрос тела вопроса - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь разобраться в весеннем облачном контракте, поэтому читаю тур.
Мой вопрос касается именно этого раздела:
https://cloud.spring.io/spring-cloud-contract/multi/multi__spring_cloud_contract_verifier_introduction.html#_defining_the_contract

Просмотр тела запроса часть, существует разница между контрактами Groovy и YAML.
В Groovy DSL:

"client.id": $ (regex ('[0-9] {10} '))

В YAML:

"client.id": 1234567890

Вы видите разницу - одинконкретный, другой нет.

Вопросы:
Q1.Является ли эта разница преднамеренной?
Q2.Верно ли, что они превращаются в тесты на стороне производителя, поэтому они запускаются против моей реальной реализации службы?
Значит ли это, что моей реальной реализации требуется поддержка жестко запрограммированного client.id 1234567890?

TIA

1 Ответ

0 голосов
/ 06 июня 2019

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

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

...