2011-01-08 18 views
11

He configurado Visual Studio 2010 para depurar xUnit.net pruebas configurando el Configuración del proyecto | Depurar | Inicie el programa externo para ejecutar el corredor de la consola xUnit.net.¿Cómo configuro Visual Studio para ejecutar las pruebas de xUnit.net?

Esto funciona bien, pero sólo cuando se proporciona la ruta completa al archivo DLL proyecto de prueba a través de los argumentos de línea de comandos por ejemplo: "c: \ desarrollo \ TestProject.dll"

He intentado usar $ (BINDIR) $ (TargetName) $ (TargetExt) como parámetros a través de Command Line Arguements sección pero no funciona. ¿Alguna sugerencia sobre cómo puedo evitar la ruta explícita/completa?

+0

Respondió mi propia pregunta –

Respuesta

6

Esta respuesta fue dada antes del increíble trabajo de James y Brad con xUnit.net Runners. Ver la respuesta de michielvoo a continuación.

Para evitar el problema de dar explícitamente el nombre de la biblioteca se puede utilizar cmd.exe con me lo quitaron de línea de comandos: /C xunit.console.exe $ (BINDIR) $ (TargetName) $ (TargetExt)

Comprobar uso ventana de salida

uso del Herramientas | Opciones | configuración del teclado para asignar una tecla de acceso rápido.

0

Simplemente escribo el nombre completo del ensamblaje, eso es todo.

Bajo los argumentos de línea de comando: SharedDataBridge.Tests.dll

2

Una ruta alternativa es usar un plugin de VS como TestRunner. Por ejemplo ReSharper.

+1

un xunit testrunner para resharper se puede encontrar aquí: http://xunitcontrib.codeplex.com –

6

Esto es lo que yo uso en mi archivo .csproj para ejecutar el corredor xUnit interfaz gráfica de usuario como la acción de inicio:

<PropertyGroup> 
    <StartAction>Program</StartAction> 
    <StartProgram>$(MSBuildProjectDirectory)\..\..\Packages\xunit.runners.1.9.1\tools\xunit.gui.clr4.exe</StartProgram> 
    <StartArguments>"$(MSBuildProjectDirectory)\$(OutPutPath)$(AssemblyName).dll"</StartArguments> 
</PropertyGroup> 

Para que esto funcione, todo lo que tiene que hacer es instalar el paquete NuGet xUnit.net Runners:

PM> Install-Package xunit.runners 

el único inconveniente hasta ahora, es que es la versión específica, por lo que cada vez que actualice el paquete NuGet a más tardar, se debe actualizar esta configuración para que apunte a que el corredor correcto.

Cuestiones relacionadas