2009-09-28 16 views
6

Estoy trabajando en un sitio MVC con capacidad de carga de imágenes y quiero escribir una prueba que cargue una imagen.Probando el sitio web ASP.NET MVC

Hice una imagen llamada TestImage.jpg y configuré Copiar en Salida para que sea "Copiar si es más reciente". En mi prueba de intento cargar que con el siguiente código:

System.Drawing.Image testImage = System.Drawing.Image.FromFile(@"TestImage.jpg"); 

¿No debería la "copia a la salida" copiarlo en el mismo directorio donde se ejecuta la prueba? Si no, ¿cómo puedo averiguar dónde se copió? Lo mejor sería algún tipo de ruta relativa a la raíz del proyecto, así que puedo sentirme libre de mover la solución sin esta ruptura.

Respuesta

16

En MSTest, las copias marco todas .DLLs a una carpeta llamada Resultado de la pruebas. Desafortunadamente, solo copia .dlls, .pdbs y .configs desde la carpeta de salida a la carpeta TestResults, por lo que sus archivos no se copian.

Para copiar dichos ficheros, se tendrá que o bien

  • añadir el DeploymentItem attribute a la prueba (s) en cuestión
  • editar su archivo .testrunconfig añadiendo los archivos correspondientes en la ficha Implementación

Una mejor alternativa es incrustar los archivos específicos de prueba en la prueba como un recurso incrustado y luego leerlos directamente de la secuencia de recursos.

+0

gracias - el "agregar el atributo DeploymentItem a la (s) prueba (s) en cuestión" trabajó – Greg

Cuestiones relacionadas