De acuerdo con la Docs, SimpleTest has support for FileUpload testing baked in since version 1.0.1:
File upload testing Can simulate the input type file tag 1.0.1
He mirado a través de los ejemplos en su sitio y de suponer que tendría que utilizar algo en la línea de
$this->get('http://www.example.com/');
$this->setField('filename', 'local path');
$this->click('Go');
para enviar el archivo y luego use las aserciones regulares para verificar que la carga funcionó como se quería. Pero eso es solo una suposición descabellada, ya que no estoy familiarizado con SimpleTest y no pude encontrar un ejemplo en su página de inicio. Es posible que desee ask in their support forum though.
Pero, básicamente, no hay muchas pruebas de uso que un formulario carga un archivo. Este es un comportamiento probado del navegador. Probar el código que maneja la carga tiene más sentido. No sé cómo implementó su código FileUpload, pero si tuviera que implementar esto, me desharía de la dependencia de la matriz $_FILES
como la primera cosa. Cree una clase FileRequest
a la que pueda pasar la matriz $_FILES
. Entonces puedes manejar la carga de la clase. Esto le permitiría probar la funcionalidad sin cargar realmente un archivo. Simplemente configure su instancia de FileRequest en consecuencia. Incluso podría burlarse del sistema de archivos con vfsStreamWrapper, por lo que ni siquiera necesita archivos reales.
¿Puedes mostrar un fragmento de código? – Jhn
Expandir esta respuesta con la forma de simular el movimiento de archivos en move_uploaded_file sería muy útil. –
@pixelastic ¿Alguna posibilidad de que nos muestres tu código para eso? – Magiranu