Pergunta

Estou prestes a fazer algumas alterações para um módulo do Apache C existente para corrigir alguns possíveis falhas de segurança e más práticas gerais. No entanto, a funcionalidade do código deve permanecer inalterada (excepto nos casos em que a sua fixação de um erro). coisas padrão testes de regressão parece estar em ordem. Eu gostaria de saber se alguém sabe de uma boa maneira de executar alguns testes de unidade de regressão againt o código. Estou pensando em algo ao longo das linhas de usar C-Unit mas com todas as ins vinculadas ao Apache abril e estruturas de status Eu queria saber se há uma boa maneira de testar isso. Existem quaisquer estruturas pré-construídos que podem ser usados ??com C-unit por exemplo?

Graças

Peter

Foi útil?

Solução

Eu estive pensando em responder isso por um tempo, mas alguém figurado mais poderia vir para cima com uma resposta melhor, porque a minha é bastante insatisfatório:. Não, eu não estou ciente de qualquer framework de testes unitários

Eu acho que sua melhor aposta é tentar refatorar seu módulo C tal que é dependências na base de código httpd estão contidas em uma camada de cola muito fina. Eu não me preocuparia muito com dependências em abril, que podem ser facilmente ligados em seu código de teste de unidade. São coisas como usar o registro de solicitação que você deve tentar abstrair um pouco.

Eu vou ir tão longe e sugerem que tal refatoração é uma boa idéia se o código é suspeito de conter falhas de segurança e más práticas. É apenas geralmente um trabalho muito grande.

O que você também pode considerar é a execução de testes de integração em vez de testes de unidade (de preferência ambos), ou seja, chegar a um conjunto de solicitações e respostas esperadas a partir do servidor, e executar um programa para comparar o real com respostas esperadas.

Assim, não a resposta que você está procurando, e você provavelmente pensou em algo nessa linha si mesmo. Mas pelo menos eu posso dizer por experiência própria que, se o módulo não pode ser substituído por algo novo por motivos de negócios, em seguida, refatoração-lo para testability provavelmente vai pagar no longo prazo.

Outras dicas

Passado algum tempo a olhar ao redor dos interwebs para você como é uma pergunta que eu estava curioso a mim mesmo. deparei com um artigo wiki afirmando que

http://cutest.sourceforge.net/

foi usado para o teste c runtime apache portátil. pode valer a pena verificar isso.

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