estoy escribiendo algunas xUnit pruebas para algunas clases de ayuda que se basa en algunos parámetros de configuración, normalmente se almacena en App.config o Web.config del proyecto de ejecución.App.config para xUnit
La configuración es similar a esto:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="FileNamePattern" value="\\d{8}_\\w{4:20}\.png"/>
<!-- and the likes -->
</appSettings>
</configuration>
estoy corriendo xUnit 1.9, con el corredor de interfaz gráfica de usuario (xunit.gui.clr4.exe) y el corredor de la consola xUnit (en el servidor Jenkins CI). Actualmente, puedo "inyectar" estos valores de configuración en los entornos de prueba estableciendo manualmente los archivos xunit.gui.clr4.exe.config y xunit.console.exe.config); sin embargo, esto es tedioso y propenso a errores.
También podría simular estos ajustes de configuración en un dispositivo. Pero usar el mismo accesorio en 10 archivos diferentes es bastante repetitivo.
¿Hay una mejor manera de burlarse de configuración con xUnit, tales como proporcionar un archivo app.config para el proyecto de la prueba?
Crearía un ISettings intermedio. Puedes cargar app.config en eso. Entonces todo lo que tendría que hacer es burlarse de la interfaz usando un marco como Moq. Me gusta bastante abstraer los archivos de configuración tanto como sea posible. –