Есть ли способ проверить потребительские контракты в модульных тестах для микросервисов? Я знаю, что мы можем использовать библиотеку Pact в java, делая интеграционное тестирование через JUnit. Но мне интересно, есть ли способ сделать то же самое с модульными тестами?Потребительские контракты
ответ
Spring Cloud Contract - еще один удобный инструмент, который я могу предложить. Он хорошо документирован, и создатели api быстро отвечают на ваш вопрос в разных средах (например, Gitter, Github). Структура работает как на стороне производителей, так и на потребителях. Это гарантирует, что api совместим с контрактами, определенными потребителем на стороне производителя. На стороне производителя тесты генерируются автоматически. Контракты также поделились с потребителем сложным способом. Они переносятся в ваш локальный репозиторий артефактов (например, Nexus, Artifactory), и потребитель может получить доступ к контрактам по репо. После этого потребитель может также проверить, работает ли он с api, написанным на продюсере, или нет. Его можно использовать и в механизме публикации-подписки. Отличный инструмент, используйте его.
Кстати, Вы можете издеваться над своей связью и проверять совместимость контрактов таким образом, чтобы вы выглядели как единичный тест, но я не понимаю, почему вы настаиваете на тестировании с помощью модульного теста.
С уважением ...
Ваш микросервис 1 класс? Если да, то да. Использование библиотеки Pact с JUnit - это модульное тестирование. Если ваш микросервис - это набор классов, то да, это будет интеграционное тестирование :-) –