Является ли потребительский тест pact для создания json-файлов контракта?
Я изучаю пакт, и меня обвинили, для чего нужен потребительский тест? Он проверяет ответ, который определяет тестовый класс.
В моем коде ниже. Я определил ответ с 200 и простым телом, затем протестировал его вызов mockProvider. кажется бесполезным. Кто-нибудь, пожалуйста, дайте мне руководство.
public class PactTest {
@Rule
public PactProviderRuleMk2 mockProvider
= new PactProviderRuleMk2("test-provider", "localhost", 8017, this);
@Pact(consumer = "test-consumer")
public RequestResponsePact createPact(PactDslWithProvider builder){
Map<String, String> headers = new HashMap<>();
return builder
.given("test Get")
.uponReceiving("GET REQUEST")
.path("/pact")
.method("GET")
.willRespondWith()
.status(200)
.headers(headers)
.body("{\"condition\": true, \"name\":\"tom\"}")
.toPact();
}
@Test
@PactVerification
public void givenGet_whenSendRequest_shouldReturn200withProperHeaderAndBody() {
ResponseEntity<String> res = new RestTemplate()
.getForEntity(mockProvider.getUrl()+"/pact", String.class);
assertThat(res.getStatusCode().value()).isEqualTo(200);
}
}