2011-05-18 13 views
5

Tengo un componente que lee alguna configuración del archivo de configuración .NET estándar (app.config).Archivo de configuración incorrecto al ejecutar pruebas NUnit (TD.NET)

cuando ejecuto pruebas unitarias (NUnit) para este componente (usando TD.NET), noto que el archivo de configuración no se lee.

Tras una inspección de AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

me he dado cuenta de que su valor se establece en C: \ Users \ ltal \ AppData \ Local \ Temp \ tmp6D2F.tmp (algunos temp locaiton al azar).

¿Hay alguna razón para que esto suceda? (¿Es culpa de NUnit o TD.NET?)

Supongo que podría establecer este objeto SetupInformation por el bien de la prueba, aún no lo he probado, pero aún me pregunto por qué se está creando así y no como defecto.

Respuesta

3
  • Para solucionar esto, puede crear un app.config en su proyecto de prueba de unidad. Esto se llamará en lugar de la aplicación principal. Configure las pruebas de su unidad. A continuación, puede cambiar los valores en esa app.config en las pruebas de su unidad, lo que facilita la prueba de diferentes valores y configuraciones, es decir, puede configurar su prueba app.config con determinados valores antes de ejecutar la prueba.

    ConfigurationManager.AppSettings[""] = "";

  • Otra opción podría ser la de colocar valores en el archivo Settings.setting de su proyecto principal. No tiene que cambiar nada en su proyecto de prueba de unidad entonces. Algunos enlaces sobre la diferencia entre los ajustes y app.config - MSDN forums, StackOverflow, User Settings - MSDN

  • Y, por supuesto, una tercera opción sería la de eliminar la dependencia en el app.config de su componente mediante la introducción de una interfaz e inyectar la dependencia en el componente por lo que es fácil de simular y prueba de la unidad.

+0

¿Cuál es la diferencia entre Configuración y configuración? ¿Tienes un enlace con respecto a eso? ¿Qué debería ir a donde ...? –

+0

El archivo de configuración se guarda en una ubicación en C: \ Documents and Settings y normalmente se usa para configuraciones específicas del usuario (como colores de fondo) que desea cambiar durante el tiempo de ejecución y posiblemente para mantener las actualizaciones de la aplicación. Por lo general, almacena cosas como cadenas de conexión en el archivo App.Config. Editado para incluir enlaces. –

Cuestiones relacionadas