2011-01-07 6 views
8

Eventuali duplicati:
Simple test vs PHPunitCosa unit testing in PHP per iniziare

Sono nuovo di buone pratiche in materia di sviluppo del software. Ho bisogno di sapere con il quadro di prova delle streghe che dovrei usare. Ho visto che alcune persone usano PHPUnit e altri usano SimpleTest. Quale pacchetto dovrei scegliere per un principiante?

migliori saluti,

+2

l'unico aiuto obiettivo decisione che posso offrire è che PHPUnit è lo standard de-facto in unit testing. – Gordon

+0

@Gordon, non sono sicuro che sarebbe andato così lontano come a dire "standard de facto". Il più semplice è ancora abbastanza ben utilizzato anche se lo sviluppo è in fase di stallo. –

+2

@Nathan da chi mi chiedo? Non vedo mai oratori che sostengano SimpleTest quando presento le conferenze. Ma c'è sempre gente che mostra come fare cose con PHPUnit. – Gordon

risposta

0

ho trovato SimpleTest facile per iniziare, e utilizzabile per i miei scopi. Nessun grosso problema trovato per ora. Il manuale/sito web è un po 'confuso, ma con alcuni esempi di ricerca è sufficiente.

non si sente molto professionale, ma come stai chiedendo quadro principianti, con tutti i mezzi, provare che uno :)

0

Ecco una buona lettura ... Questo utilizza SimpleTest e di iniziare con questo è meglio di PHPUnit ...

Newbie's Guide to Unit testing

+0

In realtà, no. Si prende a PHPUnit e quindi viene eseguito tramite SimpleTest poiché è "un framework di test molto più semplice". – Adam

+0

Yep .. volevo dire Usa "SimpleTest" :) –

2

SimpleTest è leggermente più facile da afferrare, ma PHPUnit è il migliore (a mio parere, almeno), quindi se si vuole iniziare ad imparare e l'utilizzo di un quadro, iniziare con quello lo userai quando sarai un maestro in TDD. Non guardare se è più facile o più difficile ora, perché se si inizia con SimpleTest, ad esempio, si inizia a utilizzare Zend Framework perché il tuo capo ti dice così, dovrai usare PHPUnit con ZF. Quindi pensa al tuo futuro, perché un quadro facile da apprendere non deve necessariamente essere il migliore, solitamente è più difficile capire meglio il quadro.

Date anche un'occhiata alle loro revisioni, vedere quale si mantiene meglio.

5

Ho iniziato con SimpleTest perché la curva di apprendimento non sembrava ripida. Ma non è mantenuto, e richiama un sacco di avvertimenti in PHP5.3, oltre a non essere in grado di fare tutto ciò che volevo. Alla fine ho dovuto passare a PHPUnit, che è stato un lungo processo di conversione dei miei test. Se solo avessi iniziato con PHPUnit in primo luogo!

+0

E io non sono ancora convinto la mia copertura di test è al 100% con PHPUnit, mentre se avessi usato TDD con PHPUnit fin dall'inizio che sarebbe stato. –

25

Sono davvero veramente sconcertato che Simpletest è ancora considerato un'alternativa a phpunit. Forse sono solo disinformato ma per quanto ho visto:

  • PHPUnit è lo standard; la maggior parte dei framework lo usa (come Zend Framework, Cake, Agavi, persino Symfony lascia cadere il proprio Framework in Symfony 2 per phpunit).
  • PHPUnit è integrato in ogni IDE PHP (Eclipse, Netbeans, Zend Stuide, PHPStorm) e funziona perfettamente.
    • Simpletest ha un'estensione eclipse per PHP 5.1 (a.k.a. così vecchio che è su sourceforge) e nient'altro.
  • PHPUnit funziona perfettamente con tutti i server di integrazione continua poiché emette tutti i file di registro standard per la copertura del codice e i rapporti sui test.
    • Il più semplice no. Anche se questo non è un grosso problema, all'inizio ti morderà quando ti fermi "solo testando" e inizi a sviluppare software (Sì, questa affermazione è provocatoria :) Non prenderla troppo sul serio).
  • PHPUnit è attivo, stabile e funziona perfettamente per ogni base di codice, ogni scenario e ogni modo in cui si desidera scrivere i test.
    • SimpleTest è più mantenuto, obsoleto e non funziona bene con PHP 5.3 (rilasciato più di un anno fa)
  • (soggettiva) PHPUnit provides much nicer copertura del codice riporta than Simpletest
    • Con PHPUnit si ottiene anche questi i rapporti all'interno del vostro IDE (Netbeans, Eclipse, ...)

ho ancora visto nessun argomento a favore di SimpleTest. Non è ancora più semplice da installare in quanto PHPUnit è disponibile tramite pera:

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

e la "prima prova" sembra più o meno lo stesso.

Per tutto ciò che si desidera testare PHPUnit avrà una soluzione e si sarà in grado di trovare aiutare praticamente ovunque (SO, #phpunit canale IRC su freenode, praticamente ogni sviluppatore PHP;))

Correggi me se ho già detto qualcosa di sbagliato o dimenticato qualcosa :)

+1

+1 argomenti molto buoni! – Gordon

+2

Sono d'accordo, molto bene. Penso che ciò che attrae è che sembra semplicemente più semplice per qualcuno che sta iniziando con i test delle unità PHP. Ed è più semplice da installare, se non si utilizza PEAR (che, ci crediate o no, alcune persone non lo fanno): Basta scaricare una zip e aprirlo. –

+0

@Nathan: d'accordo, se non si utilizza il programma di installazione pera (non lo facciamo al lavoro, ad esempio), phpunit può davvero essere una pita importante da eseguire se non si sa cosa cercare :). Soprattutto dal 3.5 – edorian