Domanda

Mi chiedevo se qualcuno che ha esperienza sia questa roba può gettare luce sulla significativo la differenza tra i due se qualsiasi?

Qualsiasi resistenza specifica di ciascuno, che lo rende adatto per ogni specifico caso?

È stato utile?

Soluzione

Questa domanda è abbastanza datato, ma ancora ottenere il traffico e le risposte ho pensato io stato il mio punto di nuovo qui, anche così, ho già fatto alcuni altri (i più recenti) domande.

Sto davvero sconcertato che SimpleTest ancora è considerato un'alternativa a phpunit.Forse sono solo disinformati, ma per quanto ho visto:

  • PHPUnit è standard;la maggior parte dei quadri usarlo (come Zend Framework (1&2), Torta, Agavi, anche Symfony è caduta proprio Framework Symfony 2 per phpunit).
  • PHPUnit è integrato in ogni PHP IDE (Eclipse, Netbeans, Zend Stuide, PHPStorm) e funziona bene.
  • Simpletest ha un'eclisse estensione per PHP 5.1 (un.k.un.vecchio) e niente altro.
  • PHPUnit funziona bene con ogni continuous integration server, dato che le uscite di tutti gli standard di file di log per la copertura del codice e i rapporti di prova.
  • Simpletest non.Mentre questo non è un grosso problema per avviare con esso ti morderà grande momento, una volta che si smette di "testare" e iniziare lo sviluppo di software (Sì che l'istruzione è una provocazione :) non te la prendere troppo sul serio).
  • PHPUnit attivamente mantenuto stabile e funziona alla grande per ogni codebase, ogni scenario e in ogni modo si desidera scrivere il vostro test.
  • (Soggettivo) PHPUnit fornisce molto più bello la copertura del codice report di Simpletest
  • Con PHPUnit, si ottiene anche questi rapporti all'interno del vostro IDE (Netbeans, Eclipse, ...)
  • Ci sono anche un paio di suggestings per un web interface to phpunit tests.

Ho ancora vedere qualsiasi argomento a favore di SimpleTest.Non è nemmeno semplice da installare in quanto PHPUnit è disponibile via pera:

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

e la "prima prova" sembra praticamente la stessa.

Come di PHPUnit 3.7 è ancora più facile da installare è solo con il PHAR Archive

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

o per windows download il georgiano e in esecuzione:

php phpunit-.phar

o quando si utilizza il supportato compositore installare modi, come

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

per il compositore.json.


Per tutto ciò che si desidera testare PHPUnit avrà una soluzione e si sarà in grado di trovare un aiuto praticamente ovunque (COSÌ, #phpunit canale irc su freenode, praticamente ogni sviluppatore php ;) )

Per favore mi corregga se ho detto qualcosa di sbagliato o dimenticato qualcosa :)

Panoramica di PHP strumenti di Test

Video: http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/

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

Si parla di roba come Atoum che chiama la sua auto:"Un semplice, moderna e intuitiva, unit testing framework per PHP!"


Full disclosure

Ho originariamente scritto questa risposta Gen.2011 dove ho avuto alcuna affiliazione con qualsiasi PHP progetto di Test.Da allora sono diventato un collaboratore di PHPUnit.

Altri suggerimenti

Io preferisco PHPUnit ora, ma quando ho iniziato ho usato SimpleTest come io non sempre hanno accesso alla riga di comando.SimpleTest è bello, ma l'unica cosa che veramente conta oltre PHPUnit, a mio parere, è il web runner.

I motivi che mi piace PHPUnit, che si integra con altre PHP strumenti di sviluppo come phing (come non SimpleTest), phpUnderControl, e Xinc.A partire dalla versione 3.0 è è beffardo supporto, è attivamente sviluppato, e la documentazione è eccellente.

Davvero l'unico modo per rispondere a questa domanda per voi è quello di provare entrambi fuori per un periodo di tempo, e vedere quale si adatta al tuo stile migliore.

EDIT:Phing si integra ora con SimpleTest così.

  • Io NON riuscivo a capire come scaricare e installare PHPUnit.
  • Ho potuto, tuttavia, è facile capire come installare SimpleTest.

    (Per quanto posso ricordare le istruzioni per PHPUnit ha detto qualcosa sulla falsariga di "installare via PERA e non daremo tutte le istruzioni su come farlo in qualsiasi altro modo") vedere:

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

Per SimpleTest, fai il download e scegliere dal tuo codice.

Così Simpletest vinto per me.

Baphled è un bell'articolo su SimpleTest vs PHPUnit3.

La metà dei punti indicati nella accettato di rispondere semplicemente non sono vere:

SimpleTest ha

  • la facilità di configurazione (estrarre nella cartella di includere e di esecuzione)
  • semplicemente controllare la cartella in controllo di versione (provate a farlo con phpunit oggi :))
  • meno dipendenze e un sacco di estensioni (webtester, formtester, auth)
  • una buona copertura del codice reporter, che è facile da estendere (punti, i nomi di funzione, colori)
  • un codice di copertura di sintesi (finalmente sbarcati in PHPUnit 4.x)
  • un decente web runner e ajax, web runner, con gruppi e singoli file esecuzioni
  • ancora meglio diff strumento (senza spazi o newline problemi)
  • un adattatore/wrapper per eseguire SimpleTests da phpUnit e viceversa
  • compatibilità PHP5.4+

Il rovescio della medaglia:

  • non standard del settore (PHPUnit)
  • non attivamente mantenuto

Ho trovato SimpleTest è stato ancora più facile di PHPUnit per impostare.Basta estrarre e vi sono buone per andare.Un vantaggio di questo è che se si lavora in più di una macchina, in quanto è in grado di memorizzare l'intero framework di test allo stesso modo il codice sorgente, e quindi sapere che si sta utilizzando lo stesso codice del framework.Soprattutto se si modificano in alcun modo.

Quindi, direi che un punto di forza di SimpleTest è che è molto leggero e portatile.

SimpleTest viene fornito anche con un HTML molto semplice GUI, che è abbastanza facile da estendere, se si desidera.Per quanto ne so, PHPUnit non include un HTML GUI, ma ci sono GUI:s disponibile per il download, come Cool.

Beh, ho fatto un phpUnit web based UI caso di test runner e reso disponibile su sourceforge.Utilizza ajax e ha abbastanza freddo interfaccia come pure se si vuole dare un colpo di controllare sul sito di sourceforge.Il nome del progetto è phpunitwebui e il sito web è http://phpunitwebui.sourceforge.net/

Come è stato rilevato, è principalmente una preferenza di scelta, sia come verrà eseguito il test di scrivere e riferire i risultati.

Il Simpletest interfaccia web è molto utile, ma a volte ci si può ottenere ingombrante.Nel mio progetto attuale, avrei dovuto mettere più lavoro in un sistema per rendere la mia applicazione (API) lavorare con l'interfaccia web (impostare apache correttamente, copiare i file nella public_html root, etc.) che sarebbe stato sufficiente eseguire phpunit dal workspace di eclipse.Quindi ho scelto di PHPUnit.Inoltre, l'utilizzo di PERA è stato un grande vantaggio in quanto non è necessario registrare manualmente gli aggiornamenti.Basta eseguire pear upgrade una volta in un mentre e PHPUnit sarà mantenuto up-to-date.

Non ho ancora controllato Semplice Test per un po', l'ultima volta che aveva un plugin di eclipse, che è un fattore importante per me, ma non è stato aggiornato per un lungo periodo di tempo.Sebastian Bergmann è ancora molto attivamente lavorando su PHPUnit, ma manca ancora un buon plugin per eclipse - ma è incluso per il nuovo Zend Studio.

Questa domanda è vecchia, ma vorrei aggiungere la mia esperienza:PHPUnit sembra essere lo standard, ma se si lavora con un sistema legacy che utilizza un sacco e un sacco di variabili globali, si può rimanere bloccati da ottenere andare.Sembra che non vi è alcun buon modo per fare il test con le variabili globali in PHPUnit, sembra che tu abbia per impostare le variabili con $GLOBALS che NON è BUONA se si dispone di tonnellate di file di impostazione di variabili globali ovunque.OK, alcuni potrebbero dire che il problema è nel sistema precedente, ma questo non significa che non possiamo fare dei test di tale sistema.Con SimpleTest, la cosa è semplice.Suppongo che se PHPUnit ci permette di includere un file a livello globale, non all'interno di ogni classe/ambito funzione quindi non sarebbe troppo di un problema.

Un'altra soluzione promettente è http://www.enhance-php.com, sembra bello :)

Questo è dal punto di vista di un molto casual sviluppatore PHP:

Mi ci sono voluti due giorni per cogliere PHPUnit, soprattutto cercando di eseguire il debug di Eclipse che alla fine ho rinunciato.

Mi ci sono volute due ore per l'installazione Simpletest tra cui eseguire il debug di Eclipse.

Forse riuscirò a trovare le carenze di Simpletest in futuro, ma finora non bene di cosa ho bisogno:TestClasses, gli oggetti di simulazioni, test-debug del codice, e l'interfaccia web per una rapida istantanea della situazione.

Di nuovo: Questo dal punto di vista di un casual di PHP (non anche sviluppatore :-)

quando ci sono migliaia di funzioni di test in una sola volta, phpunit è il modo di andare, prova semplice è quello di cadere in breve come è web based.

Sto ancora usando il semplice web per piccoli test .

Ma entrambi sono buoni

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top