Pergunta

Freqüentemente, desejo escrever um teste de unidade para uma parte do código que acessa recursos HTTP como parte de sua função normal.Você encontrou boas maneiras de escrever esses tipos de testes?

Foi útil?

Solução

Extraia a parte que acessa os recursos HTTP do seu código principal.Crie uma interface para esse novo componente. Em seu teste, simule a interface e retorne dados que você possa controlar de maneira confiável.

Você pode testar o acesso HTTP como um teste de integração.

Outras dicas

Esta é normalmente uma função que eu zombaria para os testes...Não gosto dos meus testes dependendo de nada externo...pior ainda se for um recurso externo sobre o qual não tenho controle (como um site de terceiros).

Bancos de dados são um dos poucos recursos externos dos quais muitas vezes não zombarei...Eu uso DBUnit em vez disso.

Recentemente, tive que escrever um componente que acessasse um wiki e fizesse algumas raspagens básicas de texto.A maioria dos testes que escrevi validaram o código de resposta HTTP correto.No que diz respeito à validação do recurso real, eu salvaria uma versão offline de um recurso conhecido e verificaria se o algoritmo está coletando/processando os dados corretos.

Dependendo de qual linguagem ou estrutura você está usando, pode ser simples iniciar um servidor HTTP em execução local que forneça os recursos desejados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top