O teste de unidade no PHP para iniciar

Possível Duplicado:
Teste simples vs PHPunit

Eu sou novo em boas práticas em desenvolvimento de software. Eu preciso saber com a estrutura da unidade de teste da feitiçaria, se eu usar. Eu vi que algumas pessoas usam PHPUnit e outras usam SimpleTest. Qual pacote devo escolher para um iniciante?

Cumprimentos,

Estou muito confuso que o Simpletest ainda é considerado uma alternativa à phpunit. Talvez eu seja apenas mal informado, mas até onde eu vi:

  • PHPUnit é o padrão; A maioria dos frameworks o usam (como Zend Framework, Cake, Agavi, até mesmo o Symfony está deixando o próprio Framework no Symfony 2 para phpunit).
  • O PHPUnit é integrado em cada IDE do PHP (Eclipse, Netbeans, Zend Stuide, PHPStorm) e funciona bem.
    • O Simpletest possui uma extensão de eclipse para o PHP 5.1 (também conhecido como sourceforge) e nada mais.
  • O PHPUnit funciona bem com todos os servidores de continuous integration, pois produz todos os arquivos de log padrão para cobertura de código e relatórios de teste.
    • O mais simples não. Embora este não seja um grande problema para começar, ele irá mordê-lo muito antes de parar de “apenas testar” e começar a desenvolver software (Sim, essa afirmação é provocativa 🙂 Não leve isso a sério demais).
  • O PHPUnit é ativamente mantido, estável e funciona muito bem para cada base de código, todos os cenários e todas as formas em que você deseja escrever seus testes.
    • O mais simples é não mantido, desatualizado e não funciona bem com o PHP 5.3 (lançado há mais de um ano)
  • (Subjetivo) O PHPUnit fornece relatórios de cobertura de código muito mais agradáveis do que o Simpletest
    • Com o PHPUnit, você também obtém esses relatórios dentro do seu IDE ( Netbeans , Eclipse, …)

Ainda tenho de ver qualquer argumento a favor do Simpletest. Ainda não é mais fácil de instalar, uma vez que o PHPUnit está disponível através da pera:

pear channel-discover pear.phpunit.de pear install phpunit/PHPUnit 

e o “primeiro teste” parece praticamente o mesmo.

Para tudo o que você quer testar, o PHPUnit terá uma solução e você poderá encontrar ajuda em qualquer lugar (SO, #phpunit irc channel no freenode, praticamente todos os desenvolvedores php;))

Por favor, corrija-me se eu disse algo errado ou esqueci algo 🙂

Comecei com o SimpleTest porque a curva de aprendizado não parecia tão íngreme. Mas não é mantido, e traz muitos avisos em PHP5.3, além de não poder fazer tudo o que eu queria. Eu finalmente tive que mudar para PHPUnit, que foi um longo processo convertendo meus testes. Se eu tivesse começado com PHPUnit em primeiro lugar!

O SimpleTest é um pouco mais fácil de entender, mas PHPUnit é o melhor (na minha opinião, pelo menos), então, se você quiser começar a aprender e usar uma estrutura, comece com a que você vai usar quando você será um mestre em TDD. Não olhe se é mais fácil ou mais difícil agora, porque se você começar com o SimpleTest, por exemplo, você começa a usar o Zend Framework porque seu chefe diz isso, você terá que usar PHPUnit com ZF. Então pense em seu futuro, porque uma estrutura fácil de aprender não precisa necessariamente ser a melhor, geralmente o mais difícil de entender melhor o quadro.

Veja também suas revisões, veja qual é mantido melhor.

Eu achei o SimpleTest fácil de começar e útil para meus propósitos. Não foram encontrados grandes problemas por agora. O manual / site é um pouco confuso, mas com algum exemplo – procurar é suficiente.

Não se sente muito profissional, mas, como você está pedindo uma estrutura para iniciantes, de qualquer forma, experimente essa 🙂

Aqui está uma boa leitura … Isso usa SimpleTest e para começar com isso é melhor do que PHPUnit …

Guia do Iniciador de Testes Unitários