2011-05-05 20 views
9

Estoy tratando de configurar una solución de Visual Studio que facilita:Después de instalar NUnit desde NuGet, ¿cómo obligo a TestDriven.Net a usar el dll NUnit al que hace referencia NuGet?

me gustaría:

  • para mantener todas las referencias y dependencias bajo la raíz de la estructura del directorio de mi solución

  • La capacidad de utilizar la "Prueba Con NUnit", comando cuando hago clic derecho en en mi proyecto que proporciona TestDriven.NET .

NO deseo:

  • Para utilizar la versión de NUnit que TestDriven.NET instala por sí mismo

sí quiero:

  • La "Prueba Con NUnit", comando utilizar la versión de NUnit que NuGet instala bajo subdirectorios de mi solución para mí

Más detalle y lo que ya he intentado:

Al instalar TestDriven.NET coloca su propia versión de NUnit en un camino como:

  • \ archivos de programa (x86) \ Test Driven.NET 3 \ NUnit \ 2,5

Cuando se utiliza NuGet para instalar la última versión de NUnit se coloca en un camino NUnit como:

  • Solution_root \ Packages \ NUnit.2.5.10.11092

NuGet agrega automáticamente una referencia a \ packages \ NUnit.2.5.10.11092 \ lib \ nunit.framework.dll por usted. Esa referencia es prácticamente inútil si desea ejecutar fácilmente pruebas NUnit con el menú TD.Net porque TD.Net en realidad no utiliza el dll NUnit que NuGet acaba de configurar para usted.

  • ¿Cómo fuerzo menú de TestDriven.Net utilizar la DLL NUnit referencia en el camino de mi solución en lugar de la DLL NUnit que se instala en \ Archivos de programa (x86) \ TestDriven.NET 3 \ NUnit \?

O

  • Si eso no es posible, ¿hay un comando tecla de acceso directo/menú fácil de ejecutar las pruebas SpecFlow con el NUnit que está bajo mi carpeta de la solución sin utilizar TestDriven.Net?

¿Por qué estoy tratando de hacer esto?

Instalé NUnit con NuGet para poder mantener las librerías del framework de prueba dentro de mi solución y bajo control de fuente. Necesito la capacidad de hacer referencia a cosas como nunit.framework.dll en la ruta de mi solución (raíz_de_solución \ packages \ NUnit.2.5.10.11092) y NO hacer referencia a ella desde (\ Archivos de programa (x86) \ TestDriven.NET 3 \ NUnit \ 2.5) .

ya que todas las sugerencias aquí:

Asimismo, no quiero copiar manualmente y vuelva a colocar los archivos instalados por NUnit TD.Net como que no permite a archivos de dependencia específicos de la solución y el aislamiento bajo control de origen.

+0

Si esto no es posible, ¿alguien puede recomendar un enfoque para: Instalar xUnit.net, NUnit o MSTest vía NuGet, hacen que SpecFlow use ese paquete NuGet instalado bajo la solución, y tienen una simple forma de hacer clic derecho o casi automático para decirle a Visual Studio que "ejecute todas estas pruebas ahora". – Kerry

+0

Esta no es la respuesta a esta pregunta exacta, pero aquí está la solución que he estado usando por ahora: Haga clic con el botón derecho en la biblioteca de clases que contiene las especificaciones/pruebas y elija propiedades. Elija la pestaña Build Events. En la línea de comandos del evento Post-build, agregue esto: $ (SolutionDir) \ packages \ NUnit.2.5.10.11092 \ tools \ nunit.exe $ (TargetPath)/run Reemplazar \ NUnit.2.5.10.11092 \ con lo que sea exacto versión NuGet instalada bajo su sln. Ejecutar el evento de compilación posterior: en compilación exitosa. Después de cada buena compilación, la GUI de NUnit se ejecutará y ejecutará las pruebas en la dll. – Kerry

Respuesta

3

No estoy seguro es exactamente lo que está buscando, pero aquí va:

En Visual Studio (estoy usando 2010):

  1. Ir a Herramientas-> Opciones-> Test Driven -> Test Runners
  2. Esta sección enumera todos los corredores de prueba preconfigurados que se envían con TD.NET.
  3. Ejecutar Regedit.
  4. Ir a: * HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MutantDesign \ TestDriven.NET \ TestRunners * Esto será diferente en el sistema operativo de 32 bits.
  5. Agregue una nueva clave NUnit 2.5.X (simplemente copie otra clave y cambie la configuración que necesite).

  6. Reiniciar Visual Studio.

  7. En el menú del paso n. ° 1, encontrará su nuevo corredor de prueba.
  8. Haz clic y salva.

A partir de ahora, sus pruebas se ejecutarán con el corrector de prueba que ha configurado.

+0

Gracias. Creo que su método podría funcionar bastante bien para una solución VS específica (no lo he probado aún) pero tendría que configurarse cada vez para cada nuevo proyecto VS (para señalar la clave/ruta en el registro al NUnit específico archivos bajo el directorio NuGet "packages" que se coloca debajo de cada solución VS). Estoy buscando un método para conectarlo automáticamente para cualquier/todos los proyectos de VS. – Kerry

+0

La configuración en el registro es global por máquina. VS lo lee desde allí y le permite seleccionar esta opción. –

Cuestiones relacionadas