Встречается на собеседованиях • сегодня

Что такое 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();
}

Контракт сохраняется и используется для тестирования провайдера (сервера), чтобы убедиться, что он возвращает данные в ожидаемом формате. Это особенно полезно в микросервисной архитектуре, где сервисы могут обновляться независимо.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы