Definição
Teste de integração verifica a interação entre componentes ou sistemas. No lugar de isolar uma única unidade, ele exercita a comunicação entre partes, como a aplicação e o banco de dados, o serviço e a API externa ou dois módulos que trocam mensagens.
Delimitar o limite do teste
Cada teste de integração escolhe um limite para exercitar. Esse limite define o que entra no teste e o que fica de fora. Quando ele é claro, o teste examina se os registros atravessam a divisão corretamente e se o comportamento observado corresponde ao esperado.
const criado = await criarCliente({ nome: 'Ana' })
const encontrado = await buscarCliente(criado.id)
expect(encontrado.nome).toBe('Ana')O que o teste de integração não cobre
Testar uma integração não equivale a validar todos os passos da experiência do usuário. Ele confirma que as partes conversam dentro do limite exercitado, mas não substitui a verificação da interface, do fluxo completo nem do comportamento em produção.
Quando o limite muda
No exemplo do banco de teste, o teste grava e lê um cliente dentro do limite escolhido. A falha provável aparece quando o limite de teste diverge do real, como um banco de teste com schema desatualizado ou regras diferentes do ambiente de produção. O teste passa dentro do limite de teste e o comportamento quebra no limite real. A verificação mantém o ambiente de teste alinhado às migrações do projeto e confere o comportamento com o esquema atualizado, além de observar como a integração se comporta com dados reais de volume e concorrência.
Compare com o teste focado em uma unidade: o teste unitárioDúvidas frequentes
Perguntas frequentes sobre Teste de integração
- O que um teste de integração verifica?
- Ele verifica a interação entre componentes ou sistemas, confirmando que a comunicação atravessa esse limite corretamente.
- Qual é a diferença para o teste unitário?
- O teste unitário isola uma unidade de comportamento. O teste de integração exercita a comunicação entre partes.
- Teste de integração valida a experiência do usuário?
- Não. Ele confirma a comunicação dentro do limite exercitado, sem substituir a verificação da interface nem do fluxo completo.
Para continuar
Recursos relacionados
Artigo
Martin Fowler: IntegrationTest
Explica o que é um teste de integração e os limites do termo.
Abrir recursoDocumentação
Vitest: Getting Started
Mostra como escrever e executar testes de integração com o Vitest.
Abrir recursoAplicação na formação
Vibe Coding: Do Zero ao MVP
Na Formação Vibe Coding, o teste de integração exercita a comunicação entre partes do sistema, como a aplicação e o banco de dados, para confirmar que elas trabalham juntas.
Conhecer a formaçãoFontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.