Pergunta

Preciso testar alguns componentes HTTP em meu aplicativo Delphi.Eu uso o DUnit e quero adicionar alguma automação aos testes.

Portanto, meu código de teste precisa iniciar o servidor HTTP local, configurá-lo (por exemplo, preparar-se para a interrupção da conexão em 3 segundos, ou para simular baixa largura de banda, ou para solicitar login/senha, etc.), executar meus testes de unidade e fechar o HTTP servidor.

Existem alguns servidores HTTP disponíveis exatamente para Delphi/DUnit?

Eu sei que a equipe da Mozilla tem tal servidor, mas não é muito fácil integrá-lo ao DUnit.

Foi útil?

Solução

Eu uso o da Indy TIdHttpServer para servir coisas no mesmo processo.

Essa abordagem me permite verificar se as solicitações recebidas estão corretas, bem como verificar o comportamento do cliente.

Além disso, você pode configurar individualmente o servidor caso de teste por caso de teste, tornando seus testes de unidade mais fáceis de entender (o que significa que você não tem uma parte do 'teste' em outro lugar).

Outras dicas

Você pode usar o teste de unidade / Dunit para construir testes de integração automáticos.Diga, seus componentes HTTP como cliente HTTP fazem chamadas para um serviço da web.Você pode fazer seu próprio serviço web e apenas usar qualquer serviço da Web pública, como um dos do Google ou Amazon.Então você só precisa criar uma conta do Google ou Amazon Developer e consumir algumas funções básicas de serviço para testes.

Se você está testando serviços SOAP, use o Soapui para resistir a um serviço "zombar" com base no seu WSDL. Você pode ter retornado uma variedade de respostas (sequencialmente ou use alguns script simples para corresponder respostas ao conteúdo da solicitação.) Eu fiz isso correspondendo ao "ID do Solicitar" (apenas um GUID) no meu pedido enviado doTeste de dunit, para uma resposta no sopoque.É uma simples consulta XPath para combiná-los.

Você pode tê-lo retornar "enlatados" erros / exceções e, claro, quando não estiver funcionando, você terá o caso de teste "Ninguém's Home".

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