2010-03-26 8 views
12

Todavía soy nuevo en pruebas de unidades, y específicamente PHPUnit como marco de prueba.Operaciones de archivos de prueba de unidades: ¿dónde mantener la estructura de directorios simulada?

Supongamos que estoy creando una prueba unitaria para una clase de cargador de recursos. La clase busca recursos para cargar en dos directorios (uno global y uno específico del usuario).

Para probar la clase, me gustaría configurar un directorio de pruebas simuladas que contenga algunos archivos de recursos. Me gustaría colocar el directorio simulado en algún lugar del conjunto de pruebas (el conjunto es parte de una aplicación web que se distribuirá).

¿Existe una convención para ubicar este directorio de pruebas en el contexto de una prueba PHPUnit? suite compuesta utilizando el sistema de archivos como se describe here?

¿Hay alguna forma (por ejemplo, una constante definida por PHPUnit cuando ejecuta la prueba) de acceder a dicho directorio falso desde una unidad de prueba sin tener que especificar su ubicación exacta, es decir, una ruta relativa al conjunto de pruebas actual? ¿O simplemente uso dirname(__FILE__) y compongo una ruta absoluta de eso?

Respuesta

15

Dado que el cargador de recursos busca archivos en directorios y desea probar la interacción correcta del cargador con estos directorios, debe mock the filesystem. Si prueba con un directorio real, está arriesgando el cambio externo a estos directorios que pueden afectar el resultado de la prueba. Usar el vfs también es mucho más rápido.

Cuestiones relacionadas