O Que É um Contract Test?
Um contract test verifica que a interação entre um consumidor e um provedor de serviço está em conformidade com um contrato acordado, como as formas de requisição e resposta de uma API. O consumidor define o que espera, e o provedor é testado contra essas expectativas. Isso detecta mudanças de interface que quebram sem subir ambos os sistemas juntos.
Por que isso importa
Testes de integração que rodam todos os serviços juntos são lentos e flaky, mas as equipes ainda precisam saber que uma mudança no provedor não vai quebrar seus consumidores. Os contract tests dão essa garantia de forma barata verificando cada lado contra o contrato compartilhado de forma independente, permitindo que os serviços façam deploy em seus próprios cronogramas.
Conceitos relacionados
- Consumer-driven contracts são um estilo comum
- Mais rápido e mais isolado que testes de integração completos
- As ferramentas incluem Pact
Guias relacionados
What Is a Regression Test?A regression test verifies that previously working functionality still works after a change, catching newly i…
What Is Mutation Testing?Mutation testing measures test-suite quality by deliberately introducing bugs and checking whether the tests…
What Is a Polyrepo?A polyrepo splits a codebase across many separate repositories, typically one per service or library, each wi…