Estoy usando Microsoft Visual Studio Test Framework y algunas de mis pruebas requieren un archivo xml como entrada. Actualmente los he colocado en un directorio de recursos en mi TestProject y los estoy accediendo a través de un "\" Ruta de acceso \ "\ whatever". Me gustaría obtener consejos para una buena práctica al usar archivos de recursos de prueba ya que me gustaría reutilizar mi prueba en todas estas situaciones - Directamente desde VS 2010 - Durante mi proceso de compilación en el servidor - En un entorno de integración continua en una manera transparente (y simple).C# Test Resources
Respuesta
En primer lugar, generalmente trato de reducir la necesidad de confiar en el sistema de archivos durante las pruebas (al introducir algún tipo de abstracción para el sistema de archivos, de modo que se puede burlar el acceso al sistema de archivos).
Si eso no es posible, incluyo dichos archivos en el proyecto de prueba, en una subcarpeta llamada TestData
o algo similar. Luego configuro el "Directorio de Copiar a Salida" a "Copiar siempre", para que el archivo se incluya en la salida y en una ubicación conocida en relación con el ensamblaje de prueba (independientemente de si la compilación se realiza dentro de Visual Studio o en un servidor de compilación). Esto funciona muy bien siempre que ningún código bajo prueba esté modificando archivos, sino que solo los necesita para leer datos.
hago algo como esto en uno de mis pruebas de integración; y lo he resuelto de la misma manera que tú. Siempre que su archivo esté registrado en el control de fuente y use una ruta relativa (que parece que es), debería funcionar como se esperaba.
Estamos utilizando TFS2010 de CI. Todo el archivo de salida colocado en la carpeta Binarios. Para el recurso de configuración como XML usamos la opción Copiar al directorio de salida como Copiar siempre. Por lo tanto, se colocará en los directorios de salida siempre.
Sugeriría el enfoque de la siguiente answer. Es una pregunta similar. Este enfoque utiliza el atributo DeploymentItem
, que también se usa al realizar pruebas de unidades controladas por datos.
- 1. Haga que Eclipse use src/test/resources en lugar de src/main/resources
- 2. Cocos2d Resources
- 3. Junit run not picking file src/test/resources. Para archivo requerido por algún frasco de dependencia
- 4. ¿Cómo indicar a Maven que ignore mi main/resources/persistence.xml a favor de test/...?
- 5. Wicket & CSS resources
- 6. Android Dynamic String Resources
- 7. WF 4.0 Resources Collection
- 8. Umbraco learning resources?
- 9. Recursive Rails Nested Resources
- 10. Android Webapp Resources
- 11. WPF image resources
- 12. Sync Framework Resources
- 13. CFML Design Pattern resources?
- 14. error maven-resources-plugin con el recurso copy-resources objetivo: 'resources', 'outputDirectory' falta o no es válido
- 15. ¿Qué opina del omnipresente "Test, Test, Test!" ¿principio?
- 16. C: biblioteca de hilos POSIX test-suite
- 17. C# Unit Test framework para Visual Studio?
- 18. Cómo minimizar .net AXD Resources
- 19. Xcode building and resources folders
- 20. Best Practice WPF Prism Resources
- 21. CMake & CTest: make test does build test
- 22. El plugin de arquetipo de Maven no permite .resources en archetype-resources a través de
- 23. ¿Cuál es la diferencia entre db: test: clone, db: test: clone_structure, db: test: load y db: test: prepare?
- 24. ResourceManager intentar cargar .resources no Resx presentar
- 25. Grails Resources Plugin y AJAX loaded Javascript
- 26. Uso de try-with-resources en Netbeans
- 27. Cargando paquetes html + resources en webview
- 28. DataAnnotations and Resources no funcionan bien
- 29. Maven 2 <resources> herencia (padre -> proyecto secundario)
- 30. Cerrar el recurso silenciosamente usando try-with-resources
¿Dónde se configura Copiar al directorio de salida para copiar siempre? En cada archivo o puede configurarlo globalmente en un directorio? –
@Terenzio: creo que debes configurarlo en los archivos individuales. Creo que puedes hacer eso en una toma seleccionando un rango de archivos en el Explorador de soluciones (no puedo verificar ahora: no tengo Visual Studio en este momento). –
VS2010: también establece la propiedad del archivo de Acción de compilación en "Ninguno". – Dmitry