2010-03-26 13 views
12

Sono ancora nuovo per il test delle unità e in particolare PHPUnit come framework di test.Operazioni sui file di test delle unità - dove mantenere la struttura delle directory di simulazione?

Supponiamo che sto costruendo un test unitario per una classe di caricatore di risorse. La classe cerca le risorse da caricare in due directory (una globale e una specifica per utente).

Per testare la classe, vorrei impostare una directory di test di simulazione contenente alcuni file di risorse. Vorrei mettere la directory di simulazione da qualche parte all'interno della suite di test (la suite fa parte di un'applicazione web che verrà distribuita.)

Esiste una convenzione per dove inserire questa directory di test nel contesto di un test PHPUnit suite composta utilizzando il file system come indicato here?

Esiste un modo (ad esempio una costante definita da PHPUnit quando esegue il test) per accedere a tale directory fittizia dall'interno di un test di unità senza dover specificare la sua posizione esatta, cioè un percorso relativo alla suite di test corrente? O devo semplicemente usare dirname(__FILE__) e comporre un percorso assoluto da quello?

risposta

15

Poiché il caricatore di risorse cerca i file nelle directory e si desidera verificare l'interazione corretta del caricatore con queste directory, è necessario mock the filesystem. Se si esegue il test con una directory reale, si rischia di non apportare modifiche a queste directory che potrebbero influire sul risultato del test. L'utilizzo del vfs è anche molto più veloce.

Problemi correlati