Para simplificar, generalmente divido una gran cantidad de mi configuración (es decir, el contenido de app.config y web.config) en archivos .config separados, y luego los referencia desde el archivo de configuración principal mediante el atributo 'configSource'. Por ejemplo:¿Cómo se pueden usar archivos de configuración "externos" (es decir, con configSource) con un proyecto de prueba de unidad MSTest?
<appSettings configSource="appSettings.config"/>
y luego la colocación de todos los pares clave/valor en ese archivo appSettings.config en lugar de tener esta línea en el fichero de configuración principal:
<appSettings>
<add key="FirstKey" value="FirstValue"/>
<add key="SecondKey" value="SecondValue"/>
...
</appSettings>
lo general, esto funciona muy bien con la aplicación en sí, pero me encuentro con problemas cuando intento escribir pruebas de unidades que, por cualquier razón, necesitan obtener algún valor de una sección de configuración que está almacenada en uno de estos archivos externos. (Entiendo que la mayoría de estos se podrían considerar como "pruebas de integración", ya que dependen del sistema de Configuración, y también tengo "pruebas de unidades puras", pero ese no es el problema. Realmente estoy buscando para probar que estos valores de configuración se recuperan correctamente y afectan el comportamiento de la manera correcta).
Debido a la forma en que MSTest compila y copia la salida a carpetas de aspecto ofuscado que son diferentes de cada ejecución de prueba (en lugar de la carpeta 'bin' como podría pensar), nunca parece poder encontrar esas externas archivos mientras se ejecutan las pruebas. Intenté jugar con las acciones de creación de publicaciones para hacer que esto funcione, pero sin suerte. ¿Hay alguna manera de copiar estos archivos externos en la carpeta de salida correcta en tiempo de ejecución?
Tenga en cuenta el siguiente archivo se renombró entre VS2008 y VS2010: "localtestrun.testrunconfig" (v3.5 .NET) y "Local.testsettings" (v4.0 .NET): http: // social.msdn.microsoft.com/Forums/en/vststest/thread/1422bfb0-a637-430c-a2bf-0b199a02f013 – Ubikuity