sueltas libros libro japonesa hojas encuadernar encuadernacion empastar coser como casero artesanal .net unit-testing assembly-resolution

.net - japonesa - encuadernacion de libros



¿Redirige el encuadernado de ensamblaje para pruebas unitarias con un corredor de prueba? (1)

Esto debería funcionar si coloca los ajustes de configuración en el archivo .config correcto. Cuál de ellos depende del entorno que está utilizando para ejecutar las pruebas, pero tanto NUnit como TestDriven.NET deberían admitir el uso de testassembly .dll.config.
En cuanto a esto es la solución adecuada, yo diría que sí. La única otra posibilidad sería usar un archivo de políticas del editor, pero necesitaría la clave privada utilizada para compilar NUnit.

Ok, esta es la descripción completa del problema que estoy teniendo:

Estoy intentando usar NUnit ExtensionMethods pero cada vez que ejecuto una prueba que contiene uno de los métodos de extensión usando TestDriven.Net o si simplemente intento cargar el ensamblado usando una GUI de corrector de prueba (Icarus o NUnit) obtengo una excepción FileNotFoundException.

Golpeando la cabeza contra una pared y profundizando más, creo que sé lo que está mal. Reflector Cue y sí, puedo ver que NUnit.Framework> ExtensionMethods.dll tiene una referencia a

nunit.framework, Version=2.4.6.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77

y mi versión actual de nunit que estoy incluyendo es

nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77

Ahora, nunca antes he utilizado la redirección de ensamblados, pero parece que sería una simple cuestión de agregar una App.Config con las siguientes líneas:

<?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="nunit.framework.dll" publicKeyToken="96d09a1eb7f44a77" /> <bindingRedirect oldVersion="2.4.6.0" newVersion="2.4.8.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>

y tengo entendido que las llamadas a la versión 2.4.6 (que no existe en esta máquina) deberían redirigirse automáticamente a la versión 2.4.8.

Sin embargo, esto no funciona, y sospecho (pero aún no lo he confirmado) que esto se debe a que los corredores de prueba no leen automáticamente los archivos app.config.

Entonces mi pregunta es la siguiente:

  1. ¿Tengo razón en mi diagnóstico del problema?

  2. ¿La redirección de ensamblaje es la solución adecuada y lo estoy haciendo bien?

  3. ¿Cómo hago esto para trabajar con el corredor de prueba?