Встречается на собеседованиях • сегодня
Что такое Contract Testing
Contract Testing — это методология тестирования, которая проверяет взаимодействие между сервисами (например, клиент-сервер) на соответствие заранее определенным контрактам. Основная цель — убедиться, что API или сообщения между сервисами соответствуют ожидаемому формату и поведению, даже если сервисы разрабатываются независимо.
Пример с Pact (библиотека для Contract Testing):
java
// Consumer side (клиент)
@Pact(consumer = "OrderService")
public RequestResponsePact createPact(PactDslWithProvider builder) {
return builder
.given("Order exists")
.uponReceiving("GET request for order")
.path("/orders/1")
.method("GET")
.willRespondWith()
.status(200)
.body("{ \"id\": 1, \"status\": \"shipped\" }")
.toPact();
}Контракт сохраняется и используется для тестирования провайдера (сервера), чтобы убедиться, что он возвращает данные в ожидаемом формате. Это особенно полезно в микросервисной архитектуре, где сервисы могут обновляться независимо.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы