Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Proxy de desenvolvimento e os testes unitários servem propósitos diferentes na sua estratégia de testes. Embora ambos sejam valiosos, testam a sua candidatura de formas fundamentalmente diferentes. Usá-los juntos dá-lhe uma cobertura abrangente do comportamento da sua aplicação.
Diferentes abordagens de teste
Os testes unitários testam pedaços isolados de código com dependências simuladas. Quando escreve um teste unitário para código que chama uma API, normalmente simula o cliente HTTP para devolver respostas predefinidas. Esta abordagem permite-lhe verificar se o seu código lida corretamente com cenários específicos.
O Proxy de desenvolvimento testa a sua aplicação em execução com comportamento simulado da API. Em vez de simular código, o Dev Proxy interceta pedidos HTTP reais e simula condições do mundo real como erros, limitação e latência. Esta abordagem testa a sua aplicação como um todo, incluindo todas as camadas entre o seu código e a API.
Quando utilizar cada seringa
Use testes unitários quando quiser:
- Comportamento funcional específico do teste e casos extremos
- Verificar a lógica de negócio isoladamente
- Recebe feedback rápido durante o desenvolvimento
- Alcançar uma cobertura de código elevada
- Testar caminhos específicos de tratamento de erros
Utilize o Dev Proxy quando quiser:
- Teste a sua aplicação em execução de ponta a ponta
- Simula condições difíceis de reproduzir, como limitação de largura de banda ou problemas de rede
- Testa a lógica real de retentativas e o tratamento de erros em todas as camadas
- Execute a sua aplicação sob condições de carga com falhas aleatórias
- Verifique a resiliência sem alterar o seu código
Vantagens do Proxy de Desenvolvimento
O Dev Proxy oferece várias vantagens em relação às abordagens tradicionais de mocking:
- Não são necessárias alterações de código. Não precisas de modificar a tua aplicação para usar Dev Proxy. Funciona ao nível da rede, intercetando pedidos HTTP de forma transparente.
- Funciona com qualquer biblioteca HTTP. Algumas bibliotecas HTTP são notoriamente difíceis de simular. Com Dev Proxy, não importa qual biblioteca usas - RestSharp, HttpClient, Axios ou qualquer outra. O Dev Proxy interceta todo o tráfego HTTP independentemente da biblioteca.
- Testa a aplicação real. Os testes unitários com clientes HTTP simulados não testam a lógica real de reintento, o manuseio de conexões ou o comportamento de timeout. O Dev Proxy testa a sua aplicação real com todas as suas dependências.
- Falhas mais fáceis de serem entendidas. Quando consegues desencadear falhas a pedido numa aplicação em curso, é mais fácil perceber e depurar como a tua aplicação as lide.
- Simula condições complexas. O Proxy de Desenvolvimento pode simular condições que são impraticáveis de reproduzir com simulações, como falhas aleatórias durante uma carga, restrição gradativa ou problemas intermitentes de rede.
Uma estratégia de testes complementar
A abordagem mais eficaz combina ambos os métodos de teste:
- Usa testes unitários para lógica. Escreva testes unitários para verificar a lógica do seu negócio, transformações de dados e caminhos específicos de código para lidar com erros.
- Usa Dev Proxy para resiliência. Use o Dev Proxy para verificar se a sua aplicação lida corretamente com condições reais da API — limitação, erros e respostas lentas.
- Utiliza ambos em CI/CD. Executa testes unitários para feedback rápido em cada commit. Use o Dev Proxy nos testes de integração para detetar problemas de resiliência antes da implementação.
Os testes unitários indicam se o teu código está correto. O Dev Proxy indica-te se a tua aplicação é resiliente. Você precisa de ambos.
Passos seguintes
- Testar a minha aplicação com erros aleatórios — 5 minutos
- Usa Dev Proxy em CI/CD — executa tanto testes unitários como Dev Proxy no teu pipeline