Aiutanti
DomQuery
Tester\DomQuery
estende SimpleXMLElement
con una facile interrogazione di HTML o XML tramite
selettori CSS.
FileMock
Tester\FileMock
emula i file in memoria per aiutare a testare un codice che utilizza funzioni come
fopen()
, file_get_contents()
o parse_ini_file()
. Ad esempio:
Assert::with()
Non si tratta di un'asserzione, ma di un aiuto per testare metodi privati e oggetti di proprietà.
Helpers::purge()
Il metodo purge()
crea la directory specificata e, se esiste già, ne cancella l'intero contenuto. È utile per la
creazione di directory temporanee. Ad esempio in tests/bootstrap.php
:
Environment::lock()
I test vengono eseguiti in parallelo. A volte è necessario non sovrapporre l'esecuzione dei test. In genere i test sui
database devono preparare il contenuto del database e non devono essere disturbati durante l'esecuzione del test. In questi casi
si usa Tester\Environment::lock($name, $dir)
:
Il primo argomento è il nome di un blocco. Il secondo è il percorso della directory in cui salvare il blocco. Il test che acquisisce il blocco viene eseguito per primo. Gli altri test devono attendere il suo completamento.
Environment::bypassFinals()
Le classi o i metodi contrassegnati da final
sono difficili da testare. La chiamata di
Tester\Environment::bypassFinals()
in un inizio di test fa sì che le parole chiave final
vengano
rimosse durante il caricamento del codice.
Environment::setup()
- migliora la leggibilità del dump degli errori (colorazione inclusa), altrimenti viene stampato lo stack trace PHP predefinito
- consente di verificare che le asserzioni siano state chiamate nei test, altrimenti passano anche i test senza asserzioni (ad esempio dimenticate)
- avvia automaticamente il raccoglitore di copertura del codice quando viene usato
--coverage
(descritto più avanti) - stampa lo stato OK o FAILURE alla fine dello script
Environment::setupFunctions()
Crea le funzioni globali test()
, testException()
, setUp()
e tearDown()
in
cui è possibile suddividere i test.
Environment::VariableRunner
Permette di sapere se il test è stato eseguito direttamente o tramite il Tester.
Environment::VariableThread
Il Tester esegue i test in parallelo in un determinato numero di thread. Il numero di thread viene indicato in una variabile ambientale quando si è interessati: