Pessoas desenvolvedoras de todos os níveis já ouviram falar em testes. Se você é uma pessoa nova nesse incrível mundo pode ter algumas dificuldades em diferenciar os conceitos de testes de unidade e testes de integração. Vem comigo que vou te dar algumas dicas e diferenças entre os dois tipos.
Testes de Unidade: Servem para testar um pequeno pedaço de código que retorna um valor esperado. Não é necessário subir banco de dados, serviços ou outros sistemas adicionais para a execução deles. Nesse tipo de testes utilizamos mocks, fakes, spys para simular algum comportamento específico de alguma dependência.
Testes de Integração: Será testado um fluxo completo, o método, services e suas dependências. Podemos subir uma instância de uma API e um banco de dados, fazer chamadas diretamente no endpoint e simular uma situação real da aplicação.
A diferença principal dos dois tipos de testes são os escopos que cada um abraça, um sendo mais especifico e o outro mais abrangente. É legal lembrar que os dois são importantíssimos e devem ser usados nas aplicações em conjunto ainda com outros testes como de aceitação, de front e etc…, quando também aplicáveis. Desenvolvimento de testes são indispensáveis para que possamos garantir que a aplicação funcione em diversos cenários distintos. Além disso nos ajuda a prevenir que futuras alterações no código quebrem o sistema.