Я хотел бы использовать Spring Cloud Contract (https://spring.io/projects/spring-cloud-contract), чтобы протестировать взаимодействие внешнего интерфейса с сервером: особенно, чтобы отловить такие ошибки, как 400
ошибки http.
Я смог запустить свои заглушки с помощью бегуна заглушек Spring Cloud Contract. Однако я заметил, что когда фактический бэкэнд возвращал 400
, работающие заглушки возвращали 404
ошибку not found.
Вот мой контракт:
description: |
Signup use case
```
given:
a user signs up
when:
the sign up request is valid
then:
the user is signed up
```
request:
method: POST
url: /api/signup
body:
userAccountType: PARENTS
email: [email protected]
firstName: John
plainPassword: secret
address:
placeId: 'an_id'
description: '10 Downing Street'
headers:
Content-Type: application/json
response:
status: 200
Если мой интерфейс (то есть Angular) просто выдает Http POST
с, скажем, отсутствующим полем email
, тогда я ожидаю, что работающие заглушки вернут 400
.
Я был бы признателен, если бы кто-нибудь поделился лучшими практиками или советами, чтобы лучше использовать Spring Cloud Contract для тестирования внешнего и внутреннего интерфейса.
400
? Должен ли я подписывать контракты (со статусом400
) для каждой из комбинаций недействительных запросов? - person balteo   schedule 07.08.2019