Постоянство данных в каждой итерации PactVerify в провайдере - PullRequest
0 голосов
/ 18 октября 2018

Каков наилучший способ выполнить проверку договоров, когда конечная точка поставщика выполняет сохранение данных?

Например, , регистрация клиента.Должен ли я рассмотреть откат данных в конвейере?

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Я принимаю решение, основываясь на компромиссах насмешек / недосмотров для каждой конкретной кодовой базы.Я работал на микросервисах, где было очень просто откатить транзакцию, поэтому я использовал реальную базу данных для этих тестов.Я также работал над системами, в которых было больше смысла издеваться над хранилищем, как это было предложено Фабрицио.Я всегда издеваюсь над зависимостями сервисов.

0 голосов
/ 18 октября 2018

Учитывая, что тесты по клиентскому контракту (как правило) не должны быть функциональными тестами, я высмеиваю все ниже моего ресурса провайдера, который обрабатывает остальной вызов.Следовательно, данные не сохраняются, и это также значительно упрощает тестирование, поскольку вы удаляете все зависимости от внешних компонентов, включая базы данных.

Например, если ваш ClientResource (или ClientController, в зависимости от вашегошаблон имени) вызывает ClientRepository, ClientRepository будет издеваться.

...