Pergunta

Eu queria saber se alguém que tem experiência em ambas estas coisas que podem lançar alguma luz sobre a significativo a diferença entre os dois se qualquer?

Qualquer força específica de cada um que o torna adequado para qualquer caso específico?

Foi útil?

Solução

Esta questão é bastante datada, mas como ele ainda está recebendo o tráfego e as respostas que eu declaro o meu ponto aqui novamente, mesmo assim, eu já fiz isso em alguns outros (mais recente) questões.

Eu sou realmente perplexo que SimpleTest ainda é considerado uma alternativa para o phpunit.Talvez eu só estou mal informado, mas até onde eu vi:

  • PHPUnit é o padrão;a maioria dos quadros de utilizá-lo (como o Zend Framework (1&2), Bolo, Agavi, mesmo Symfony é de cair o seu próprio Framework Symfony 2 para o phpunit).
  • PHPUnit é integrada em cada PHP IDE (Eclipse, Netbeans, Zend Stuide, PHPStorm) e funciona muito bem.
  • Simpletest tem um eclipse extensão para PHP 5.1 (uma.k.um.de idade) e mais nada.
  • PHPUnit funciona bem com cada servidor de integração contínua, pois gera todos os arquivos de log padrão para a cobertura de código e relatórios de ensaio.
  • Simpletest não.Enquanto isso não é um grande problema para começar com ele vai morder você muito tempo depois que você parar de "apenas testes" e o início do desenvolvimento de software (Sim é a declaração provocativa :) não leve isso muito a sério).
  • PHPUnit é mantido activamente, estável e funciona muito bem para todos os codebase, cada cenário e cada maneira que você quiser escrever seus testes.
  • (Subjetiva) PHPUnit fornece muito mais agradável cobertura de código relatórios que Simpletest
  • Com PHPUnit você também ganha estes relatórios dentro da sua IDE (Netbeans, Eclipse, ...)
  • Também há um par de suggestings para um web interface to phpunit tests.

Eu ainda estou para ver um argumento a favor do SimpleTest.Não é ainda mais simples para instalar e PHPUnit está disponível através do pear:

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

e o "primeiro teste" parece muito bonito mesmo.

Como de PHPUnit 3.7 é ainda mais fácil de instalar ele apenas usando a PHAR Archive

wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar

ou para o windows download o phar e execução:

php phpunit-.phar

ou quando utilizar o suporte compositor instalar formas como

"require-dev": {
    "phpunit/phpunit": "3.7.*"
}

para o compositor.json.


Por tudo que você quer testar o PHPUnit vai ter uma solução, e você será capaz de encontrar ajuda praticamente em qualquer lugar (por ISSO, #phpunit canal irc no freenode, praticamente cada desenvolvedor php ;) )

Por favor, corrija-me se eu já disse algo errado ou esqueci de algo :)

Visão geral do PHP, ferramentas de Teste

Vídeo: http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/

Slides: http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011

Ele menciona coisas como Atoum o que chama a sua auto:"Uma simples, moderno e intuitivo, teste de unidade framework para PHP!"


A divulgação completa

Eu tenho escrito originalmente esta resposta Jan.De 2011, onde eu não tinha nenhuma afiliação com qualquer PHP do projeto de Testes.Desde então, tornou-se um contribuinte para o PHPUnit.

Outras dicas

Eu prefiro PHPUnit agora, mas quando eu comecei eu usei o SimpleTest como eu nem sempre têm acesso à linha de comando.SimpleTest é bom, mas a única coisa que realmente tem mais de PHPUnit, na minha opinião, é a web corredor.

As razões que eu gosto PHPUnit é que ele se integra com outras desenvolvedor PHP ferramentas, tais como phing (como faz o SimpleTest), phpUnderControl, e Xinc.Tal como na versão 3.0 tem zombando suporte, está sendo ativamente desenvolvido, e a documentação é excelente.

Realmente a única maneira de responder a essa pergunta por si mesmo é tentar tanto fora por um tempo, e ver o que melhor se adapta ao seu estilo.

EDITAR:Phing agora integra-se com o SimpleTest bem.

  • Eu NÃO conseguia entender como baixar e instalar o PHPUnit.
  • No entanto, eu poderia facilmente entender como instalar o SimpleTest.

    (Até onde eu me lembre as instruções para PHPUnit disse algo ao longo das linhas de "instalar através de PÊRA e nós não vamos dar todas as instruções sobre como fazê-lo de qualquer outra maneira") veja:

  • http://www.phpunit.de/manual/current/en/installation.html

Para SimpleTest, basta fazer o download e ponto a partir do seu código.

Então, Simpletest ganhou para mim.

Baphled tem um artigo agradável em SimpleTest vs PHPUnit3.

Metade dos pontos mencionados nos aceite resposta simplesmente não são verdadeiras:

SimpleTest tem

  • a configuração mais fácil (extrair para pasta, incluir e executar)
  • simplesmente marque a pasta para controle de versão (tente fazer isso com o phpunit hoje em dia :))
  • menos dependências e um monte de extensões (webtester, formtester, auth)
  • uma boa cobertura de código repórter, que é fácil de estender (pontos, os nomes de função, cores)
  • uma cobertura de código de resumo (finalmente desembarcou no PHPUnit 4.x)
  • um web decente corredor e um ajax web corredor, com grupos e único arquivo de execuções
  • ainda melhor ferramenta de comparação (sem espaço em branco ou newline problemas)
  • um adaptador/wrapper para executar SimpleTests pelo phpUnit e vice-versa
  • compatibilidade PHP5.4+

A desvantagem:

  • não padrão da indústria (PHPUnit)
  • não é mantido activamente

Achei SimpleTest foi ainda mais fácil do que PHPUnit para configurar.Basta extraí-lo e você é bom para ir.A vantagem disso é que se você estiver trabalhando em mais de uma máquina, desde que você pode armazenar toda a estrutura de teste da mesma forma que seu código-fonte, e, assim, saber que você está usando o mesmo framework de código.Especialmente se você modificá-lo de qualquer forma.

Assim, gostaria de dizer que uma força de SimpleTest é que ele é muito leve e portátil.

SimpleTest também vem com uma forma muito simples de HTML GUI, que é bastante fácil de estender, se você desejar.Até onde eu sei, PHPUnit não incluem HTML GUI, mas há GUI:s disponível para download, tais como Legal.

Bem, eu fiz um phpUnit web com base IU do caso de teste corredor e tornou disponível no sourceforge.Usa ajax e tem interface legal, bem como se você deseja dar um tiro verificar no sourceforge.O nome do projeto é phpunitwebui e o site é http://phpunitwebui.sourceforge.net/

Como tem sido apontado, é principalmente uma preferência de escolha, como vai executar os testes que você pode escrever para ele e relatar os resultados.

O Simpletest INTERFACE do usuário da web é muito útil, mas às vezes também pode tornar-se um empecilho.No meu projeto atual, eu teria que colocar mais trabalho em um sistema para fazer a minha aplicação (API) trabalhar com a interface web (configurar o apache corretamente, copie os arquivos para o public_html raiz, etc.) que teria sido simplesmente executar o phpunit a partir do espaço de trabalho do eclipse.Portanto, eu escolho PHPUnit.Além disso, o uso de PÊRA foi uma grande vantagem, pois você não precisa para rastrear manualmente as atualizações.Basta executar pear upgrade de vez em quando e PHPUnit será mantido atualizado.

Eu não tenho verificado Teste Simples para um tempo, a última vez que ele tinha um plugin do eclipse, que é um fator importante para mim, mas ele não foi atualizado por um longo tempo.Sebastian Bergmann ainda está trabalhando ativamente no PHPUnit, mas ainda carece de um bom plugin para o eclipse, mas está incluída para o novo Zend Studio.

Essa pergunta é velha, mas eu gostaria de acrescentar a minha experiência:PHPUnit parece ser o padrão agora, mas se você trabalhar com um sistema legado que usa lotes e lotes de variáveis globais, você pode ficar preso de o ir buscar.Parece que não há nenhuma boa maneira de fazer testes com variáveis globais no PHPUnit, você parece necessário definir as variáveis através de $GLOBALS que NÃO é BOM se você tem toneladas de ficheiros de definição de variáveis globais em todos os lugares.OK, alguns podem dizer que o problema está no sistema legado, mas isso não significa que não podemos fazer testes no sistema.Com o SimpleTest tal coisa é simples.Acho que se PHPUnit nos permite incluir um arquivo globalmente, não dentro de qualquer classe/função âmbito então ele não iria ser demasiado de um problema bem.

Outra solução promissora é http://www.enhance-php.com, parece bom :)

Este é o ponto de vista de um bem casual desenvolvedor PHP:

Levei dois dias para entender PHPUnit, principalmente tentando depurar em Eclipse que eu finalmente desisti.

Demorou duas horas para configurar Simpletest, incluindo debug em Eclipse.

Talvez eu encontre as deficiências do Simpletest no futuro, mas até agora não bem o que eu preciso:TestClasses, objetos de Simulação, teste de depuração de código, e a interface web para uma visão rápida da situação.

Novamente: Isso do ponto de vista de um bem casual usuário do PHP (não mesmo desenvolvedor :-)

quando há milhares de funções para teste em um vão, phpunit é o caminho a seguir, teste simples é de queda de curta baseado na web.

Eu ainda estou usando web simples para a pequena escala de teste .

Mas ambos são bons

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