2010-08-13 9 views
22

Me gustaría saber si hay una forma en que pueda hacer que Visual Studio ejecute pruebas unitarias correspondientes a un ensamblaje determinado cada vez que lo construyo.Ejecución automática de pruebas unitarias en la compilación

Dada una solución que contiene proyectos estructurados como esto:

Assembly1 

Assembly1.Tests 

Assembly2 

Assembly2.Tests 

¿Hay alguna manera de obtener las pruebas unitarias en Assembly2.Tests se ejecute siempre Assembly2 se construye?

Eso sería increíble.

Estoy usando Visual Studio 2008 Standard Edition.

Respuesta

18

Puede utilizar la utilidad de consola nUnit para ejecutar las pruebas como un evento posterior a la construcción para el proyecto individual.

Llama al nunit-console.exe y proporciona el conjunto que contiene las pruebas como argumento.

"C: \ Archivos de programa \ NUnit 2.5.7 \ bin \ net-2.0 \ nunit-console.exe" "PathToTestAssembly.dll"

o

Puede ejecutar las pruebas en la interfaz gráfica de usuario :

"C: \ archivos de programa \ NUnit 2.5.7 \ bin \ net-2.0 \ nunit.exe" "PathToTestAssembly.dll"/run

Editar:

extirpa la parte sobre el puesto - evento de construcción para la prueba proyecto de ensamblaje

+0

No podré probar esto todavía, pero si tiene razón, es un caso raro de que algo realmente útil sea fácil de configurar. Te devolveré un momento ... – David

+0

Lo sentimos, ¿tu advertencia (sobre dónde colocar el evento posterior a la creación) se aplica a tus dos alternativas, o solo a esta última? – David

+0

Solo este último, ya que la variable $ (TargetPath) se refiere al ensamblaje entregado para ese proyecto. Por lo tanto, si utilizó el último evento postbuild en la compilación para el ensamblaje principal (el que está bajo prueba), no funcionaría en nunit. – fletcher

Cuestiones relacionadas