Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os testes de unidade e o Proxy de Desenvolvimento atendem a diferentes finalidades em sua estratégia de teste. Embora ambos sejam valiosos, eles testam seu aplicativo de maneiras fundamentalmente diferentes. Usá-los juntos oferece uma cobertura abrangente do comportamento do aplicativo.
Diferentes abordagens de teste
Os testes de unidade testam partes isoladas de código com dependências simuladas. Ao escrever um teste de unidade para código que chama uma API, você normalmente simula o cliente HTTP para retornar respostas predefinidas. Essa abordagem permite verificar se o código lida com cenários específicos corretamente.
O Proxy de Desenvolvimento testa seu aplicativo em execução com o comportamento simulado de API. Em vez de zombar do código, o Proxy de Desenvolvimento intercepta solicitações HTTP reais e simula condições reais, como erros, limitação e latência. Essa abordagem testa seu aplicativo como um todo, incluindo todas as camadas entre o código e a API.
Quando usar cada um deles
Use testes de unidade quando quiser:
- Testar o comportamento específico da função e os casos extremos
- Verificar a lógica de negócios isoladamente
- Obter comentários rápidos durante o desenvolvimento
- Obter alta cobertura de código
- Testar caminhos de tratamento de erros específicos
Use Dev Proxy quando quiser:
- Testar seu aplicativo em execução de ponta a ponta
- Simular condições difíceis de reproduzir, como limitação ou problemas de rede
- Testar lógica de repetição real e tratamento de erros em todas as camadas
- Execute seu aplicativo sob condições de carga com falhas aleatórias
- Verificar a resiliência sem alterar seu código
Vantagens do Proxy de Desenvolvimento
O Proxy de Desenvolvimento oferece várias vantagens em relação às abordagens de zombaria tradicionais:
- Nenhuma alteração de código é necessária. Você não precisa modificar seu aplicativo para usar o Proxy de Desenvolvimento. Ele funciona no nível da rede, interceptando solicitações HTTP de forma transparente.
- Funciona com qualquer biblioteca HTTP. Algumas bibliotecas HTTP são notoriamente difíceis de simular. Com o Proxy de Desenvolvimento, não importa qual biblioteca você usa – RestSharp, HttpClient, Axios ou qualquer outra. O Proxy de Desenvolvimento intercepta todo o tráfego HTTP, independentemente da biblioteca.
- Testa o aplicativo real. Testes de unidade com clientes HTTP simulados não testam a lógica de repetição real, o tratamento de conexão ou o comportamento de tempo limite. Dev Proxy testa seu aplicativo real com todas as suas dependências.
- Mais fácil de entender as falhas. Quando você pode disparar falhas sob demanda em um aplicativo em execução, é mais fácil entender e depurar como seu aplicativo as manipula.
- Simula condições complexas. O Dev Proxy pode simular condições que são impraticáveis de reproduzir com mocks, como falhas aleatórias sob carga, limitação gradual ou problemas de rede intermitentes.
Uma estratégia de teste complementar
A abordagem mais eficaz combina os dois métodos de teste:
- Use testes unitários para lógica. Escreva testes de unidade para verificar sua lógica de negócios, transformações de dados e caminhos de código específicos de tratamento de erros.
- Use o Dev Proxy para obter resiliência. Use o Proxy de Desenvolvimento para verificar se o aplicativo lida com as condições da API do mundo real corretamente: limitação, erros e respostas lentas.
- Use ambos em CI/CD. Execute testes de unidade para obter feedback rápido a cada commit. Use o Proxy de Desenvolvimento em testes de integração para detectar problemas de resiliência antes da implantação.
Os testes de unidade informam se o código está correto. O Proxy de Desenvolvimento informa se o aplicativo é resiliente. Você precisa das duas.
Próximas Etapas
- Testar meu aplicativo com erros aleatórios – 5 minutos
- Use o Dev Proxy em CI/CD — execute os testes de unidade e o Dev Proxy no seu pipeline