O que é um teste de integração
Teste de integração verifica a interação entre partes de um sistema, como a aplicação e o banco ou um cliente HTTP e uma API. A pergunta principal é se essas partes trocam e interpretam as informações conforme o comportamento esperado.
O alcance varia entre projetos, por isso o nome precisa vir acompanhado de uma descrição. Um teste pode exercitar dois módulos locais, enquanto outro executa uma comunicação de rede com um serviço preparado para testes.
Declarar quais partes participam
Identifique os componentes executados e os substitutos usados no cenário. Se o cliente HTTP chama uma simulação da API, o resultado informa como ele se comporta diante daquela resposta, sem comprovar o funcionamento do provedor real.
Algumas convenções chamam esse caso de integração restrita, enquanto outras reservam o termo para componentes reais combinados. Explicar a montagem do teste evita prometer uma cobertura que ele não oferece.
Preparar um cenário repetível
O estado inicial deve permitir entender por que a resposta é esperada. Um registro deixado por uma execução anterior pode fazer o teste passar ou falhar por um motivo diferente da interação que ele deveria examinar.
Use a preparação e a limpeza adequadas ao ambiente, considerando também execuções paralelas. Quando dois testes alteram o mesmo registro, a ordem de execução pode interferir nos resultados e dificultar a reprodução.
Conferir a semelhança relevante com produção
Um banco de teste com estrutura desatualizada pode aceitar uma gravação que a versão publicada recusa. Aplique as migrations correspondentes e confira os tipos e as restrições envolvidos no comportamento examinado.
Não é necessário copiar todos os registros reais para verificar uma interação. Prepare exemplos representativos e trate volume, concorrência e desempenho com cenários próprios quando esses aspectos precisarem ser avaliados.
Interpretar o alcance do resultado
A interface pode participar de um teste de integração, mas sua presença não significa que toda a jornada foi percorrida. Declare o ponto de entrada, o resultado conferido e os serviços que ficaram fora da execução para distinguir esse teste de uma verificação completa do fluxo.
Para investigar a diferença entre uma simulação e o serviço usado pela aplicação, o Desenvolvimento Colaborativo da Dev Side Studio permite trabalhar nessa comunicação com orientação ao vivo. A sessão pode incluir a preparação do cenário e a leitura dos retornos durante a execução.
Dúvidas frequentes
Perguntas frequentes sobre Teste de integração
- Todo teste de integração usa todos os serviços reais?
- Não. O alcance varia entre projetos. Declare quais partes são executadas e quais foram substituídas, pois isso determina o significado do resultado.
- Um teste de integração pode envolver a interface?
- Sim. A interface pode participar da interação examinada. O nome do teste, sozinho, não informa se ele percorre uma jornada completa nem quais comportamentos visuais foram conferidos.
- É necessário usar o banco de produção?
- Não. Um banco dedicado a testes permite preparar cenários controlados. Sua versão, estrutura e configuração precisam representar os aspectos relevantes da integração examinada.
- Qual é a diferença para um teste unitário?
- O teste unitário concentra a verificação numa unidade de comportamento. O teste de integração enfatiza a interação entre partes, mas a terminologia varia e precisa vir acompanhada do alcance concreto.
Para continuar
Recursos relacionados
Documentação
Martin Fowler: teste de integração
Variações do termo e diferença entre alcances estreitos e amplos.
Abrir recursoDocumentação
Jest: preparação e limpeza
Organização do estado utilizado pelos testes.
Abrir recursoAplicação na formação
Vibe Coding: Do Zero ao MVP
O teste de integração confere como partes do projeto, como a aplicação e o banco de dados, trocam e interpretam informações.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.