2013-06-19 22 views
8

Attualmente sto facendo ricerche su quale framework di test dovrei usare per php. Le due opzioni che ho sono PHPUnit e PHPSpec. So che PHPUnit è TDD (Test driven development) e PHPSpec è BDD (Sviluppo guidato dal comportamento). Tuttavia, a causa della mancanza di un vero tutorial PHPSpec e di una documentazione limitata sul sito PHPSpec, non sono in grado di giungere a una conclusione completa. La mia domanda a tutti è quali sono alcune somiglianze e differenze tra i due quadri? Sì, BDD e TDD sono grandi, ma ce ne sono altri? E sembrano simili ma nessuno parla delle loro somiglianze in grande dettaglio. Grazie.Somiglianze e differenze tra PHPUnit e PHPSpec

+0

Ad esempio, PHPSpec supporta la mappatura come PHPUnit con @dataProvider? – applecrusher

risposta

8

PHPSpec è uno strumento SpecBDD più dedicato a guidarvi nella progettazione del codice piuttosto che in un framework di test. Dipende da ciò che ti aspetti dallo strumento e se vuoi creare un TDD/SpecBDD corretto è più facile usare PHPSpec perché è stato creato per aiutare gli sviluppatori a scrivere codice leggibile e ben progettato.

Ricordare che TDD/SpecBDD non si tratta di testare tutti i casi limite o di eseguire test di integrazione dell'applicazione completa. Riguarda la scrittura di specifiche per piccole unità di codice.

Pochi giorni fa ho fatto un discorso su di esso, qui potete trovare le diapositive: http://www.slideshare.net/cakper/2013-0613-spug-spec-bdd-in-php Spero che sarà utile prendere una decisione.

+2

Sulle diapositive (diapositiva 46), hai: $ this-> liveAndLet() -> shouldReturn ($ die); Ciò significa che phpepec utilizza la riflessione per sovraccaricare le chiamate di metodo su un'istanza con proxy dell'istanza dell'oggetto che esegue il test? Significa anche che non posso nominare alcun metodo nelle mie classi uguale ai metodi della libreria phpspec? –