Sto seguendo la convenzione ZF2 di memorizzare i test nei moduli e tutto funziona correttamente quando i test vengono eseguiti all'interno di ciascun modulo. Quello che mi piacerebbe fare è avere un phpunit.xml di livello root che richiama i singoli test dei moduli e li consolida per produrre dati di copertura del codice e altre metriche.Come consolidare i test dell'unità/modulo applicativo ZF2 in una singola chiamata?
Il problema è che ogni singola suite di test viene avviata all'interno dei file modulari phpunit.xml. L'unico modo in cui sono consapevole di fare le cose è configurare il bootstrap in ogni file phpunit.xml che ovviamente non viene rilevato quando si eseguono test da root come singoli file xml vengono ignorati.
Quindi la mia domanda è: esiste un modo per un file phpunit.xml di livello root per leggere i singoli file phpunit.xml e bootstrap dai moduli, una sorta di ereditarietà di configurazione phpunit se lo si desidera? Potrei andare lungo il percorso di scrittura di questo in Phing o in uno script di CI, ma mi piacerebbe farlo in modo rapido e sporco durante lo sviluppo e questa soluzione non produrrebbe ancora un report di codice consolidato.
Fondamentalmente, voglio qualcosa di simile, ma piuttosto che eseguire i test, voglio che esegua i singoli file phpunit.xml all'interno di ciascun modulo. È possibile?
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<testsuites>
<testsuite name="Site Tests">
<directory>./module/Application/test/ApplicationTest</directory>
<directory>./module/User/test/UserTest</directory>
</testsuite>
</testsuites>
</phpunit>
Aggiorna
L'obiettivo è di avere metrica del codice generati da PHPUnit che danno una panoramica del progetto, non un quadro specifico modulare. Apprezzo che gli script nelle risposte eseguiranno i test unitari su base per modulo, ma questo non è quello che sto cercando. Capisco che questa potrebbe essere una limitazione per quanto riguarda PHPUnit. Ne esaminerò nei prossimi giorni e cercherò di trovare una soluzione in quanto sembra qualcosa che potrebbe essere utile in molti progetti che si occupano di moduli personalizzati.
Update 2
Robert base si avvicinò con uno script che crea una struttura di directory con l'unità segnala all'interno e funziona benissimo, ma sarebbe bello avere in esecuzione all'interno di PHPUnit con la segnalazione delle metriche appropriate.
https://gist.github.com/robertbasic/5329789
ho fatto una [domanda simile] (http://stackoverflow.com/questions/14755655/phpunit-bootstrap-in-phpstorm) qualche tempo fa, ma senza molta fortuna. Da allora non l'ho più guardato, ma quello che penso di fare è usare Phing per questo. Se il tuo IDE non lo supporta (per esempio PhpStorm), allora sarà semplice come eseguire 'phing test' o simile dalla riga di comando dopo aver effettuato un target' test'. Non è quello che stai cercando, ma è una soluzione semplice che probabilmente userò me stesso. – Andy0708
Se si desidera utilizzare ant, è possibile trovare un'altra soluzione [qui] [1]. [1]: http://stackoverflow.com/questions/16628427/zend-framework-2-phpunit-multiple-modules-continuous-integration/24134625#24134625 –