Контрактное тестирование для XML обмена файлами - PullRequest
0 голосов
/ 21 апреля 2020

Мы используем пакт-контрактные тесты для сервисов, которые общаются с помощью вызовов отдыха и сообщений kafka. Мы также хотели бы внедрить аналогичную структуру тестирования контрактов между службами, которые обмениваются (xml) файлами через сервер sftp. Я мог бы использовать структуру пакта сообщений и рассматривать содержимое файла как содержимое сообщения, но мне было интересно, есть ли лучшие альтернативы. Независимо от того, как я выполняю тестирование по контракту между потребителем и производителем, обменивающимся файлами, мне также придется иметь дело с тем, как проверять код xml, поэтому любые советы по этому вопросу также будут оценены.

1 Ответ

0 голосов
/ 23 апреля 2020

Структура Пакта не накладывает никаких ограничений на содержание проверяемых взаимодействий. Вы можете использовать его с XML или любым другим типом данных. Главное в JSON - хорошая поддержка DSL для определения контракта для JSON полезной нагрузки. С другими типами данных поддержка не так хороша. Мы начали добавлять поддержку DSL для XML, но для этого еще рано.

Вы можете обрабатывать ваши файлы точно так же, как асинхронные сообщения, где механизмом транспорта является сайт SFTP. Можно было бы использовать формат Message Pact, чтобы затем создать для них контрактные тесты. Ваш провайдер будет записывать файл на сервер, а его читает потребитель. Контракт будет заключен между этими двумя системами, и вы можете абстрагироваться от того, что файлы XML передаются через SFTP-сервер.

Однако для вашего конкретного случая мне интересно, если использование XSD для проверки файлов будет быть достаточным?

...