Prueba de MS, múltiples proyectos de prueba en solución y DeploymentItemAttribute
-
12-12-2019 - |
Pregunta
Tengo dos proyectos de prueba unitaria en mi solución VS 2010.Cada proyecto tiene un directorio de datos con los datos de entrada necesarios para las pruebas unitarias.
Anoté las clases de prueba que necesitan los datos con
[DeploymentItem("Data")]
Cuando ejecuto pruebas individualmente, funcionan bien.Sin embargo, cuando ejecuto (o depuro) todas las pruebas de la solución, encuentro que solo se copia uno de los dos directorios de datos. TestResults\MyTestDir-YYYY-MM-DD HH_mm_SS\Out
, lo que provoca que fallen las pruebas unitarias que dependen del otro directorio de datos.
Curiosamente, si luego uso la ventana Resultados de la prueba para volver a ejecutar las pruebas marcadas (como las fallidas), las pruebas aún fallan (no reconocen que faltan los archivos del directorio de datos correcto).Si luego navego directamente a una prueba fallida y selecciono Ejecutar pruebas en el contexto actual, la ejecución de la prueba obtiene el directorio de datos correcto y la prueba se realiza correctamente.
Mi pregunta:¿Cómo puedo causar DeploymentItem
s de dos proyectos de prueba separados, todos para copiar al Out
directorio donde se ejecutan las pruebas?
Como referencia, he revisado estas preguntas sin encontrar una solución.
Solución
Descubrí que darle a cada directorio de "Datos" un nombre único (p. ej."TestProjectAData") resolvió el problema.Parece haber algún tipo de error cuando varios directorios en diferentes rutas tienen la misma ruta relativa a diferentes proyectos de prueba (es decir,si cada proyecto de prueba tiene un subdirectorio llamado "Datos").