Test funzionali su eZ Publish con phpunit e sfWebBrowser
Da molto tempo aspettavo questo momento, la possibilità di effettuare test funzionali su eZ Publish.
Non vi voglio annoiare spiegandovi l’importanza dei test automatici unitari e funzionali, ma lavorando con symfony e scoprendone le gioie ormai da più di due anni, la mancanza di questa feature su eZ Publish mi rendeva veramente nervoso.
Questa settimana ho lavorato con Jacopo su una nuova estensione che ora offre la possibilità di eseguire test funzionali con phpunit e sfWebBrowser sul famoso cms eZ Publish, dandoci il controllo completo sullo sviluppo.
L’implementazione è stata possibile grazie all’integrazione di phpunit in eZ Publish. Si finalmente anche loro hanno capito che devono testare le loro classi per poter far evolvere il CMS e fare refactoring. Però lo script integrato dà solo la possibilità di eseguire test unitari e non test funzionali.
Per questo motivo abbiamo realizzato una classe phpunit eZBrowserTestCase che è in grado di caricare classi, oggetti e nodi eZ Publish da un file YAML su database ed offre metodi proxy verso la classe sfWebBrowser per poter navigare un sito web da console proprio come se fosse un browser. Inoltre implementa metodi per testare la presenza di elementi sul dom attraverso i selettori CSS.
go on reading »