Velocizzare i test in progetti Symfony con Paratest

paratest 2

I test sono fondamentali. I test fanno emergere il design. I test ti rendono coraggioso. I test sono la documentazione. I test rendono sicuro il refactoring. I test sono… lenti.

Nel mondo dello sviluppo web, dove spesso la parte di logica è inferiore alla parte di rappresentazione, la percentuale dei test funzionali o di integrazione è superiore alla percentuale dei test unitari. Mentre i test unitari sono eccezionalmente veloci, gli altri sono spesso lenti dovendo accedere a risorse come i database, filesystem o servizi di rete. Se consideriamo i test con browser per verificare comportamenti Javascript, tocchiamo l’apice della lentezza. Anche utilizzando mock per i servizi e isolando le porzioni di codice particolarmente inefficienti, la durata totale di build corpose rimane molto spesso troppo elevata per un sereno ciclo di sviluppo. (altro…)

Da TDD a BDD con Symfony2

Qualche tempo fa, insieme a Riccardo, ho lavorato ad un piccolo progetto extra. Dato che il progetto era semplice ed entrambi eravamo in vena, abbiamo deciso fare un po’ di BDD per vedere come andava.
Nel mondo PHP, BDD si traduce in Behat a PHPSpec.

(altro…)