¿Cómo hago para que TeamCity recoja mis pruebas de NUnit ejecutadas en Rake?
Pregunta
Cuando ejecuto esto:
sh "#{MBUNIT_PATH}Gallio.Echo.exe /no-echo-results src/#{dll}/bin/Debug/#{dll}.dll"
en mi archivo de registro, Gallio ejecuta mis pruebas de mbunit y TeamCity recoge los resultados: D
Pero esto:
sh "#{NUNIT_PATH}nunit-console.exe /nologo src/#{dll}/bin/Debug/#{dll}.dll"
ejecuta mis pruebas, pero TeamCity no recoge el resultado :(
Primero intenté ejecutar mis NUnit pruebas a través de Gallio , pero no detecta ninguna prueba :(
Usando el lanzador de teamcity NUnit obtengo:
Failure executing test(s) on assembly nunittests.dll with NUnit 2.5.0.9122. Version 2.0 is not a compatible version.
¿Cuál sería una solución para esto? Ya sea cómo puedo hacer que Gallio recoja mis pruebas de NUnit o cómo hago que TeamCity recoja nunit-console.
Solución
Necesita usar el corredor NUnit incorporado.
Si busca en el directorio de un agente de compilación, simplemente busque * .exe. Debería haber uno llamado NUnit-Runner.exe
o algo así. Luego debe usar eso en su lugar.
Echa un vistazo al artículo Creación de una solución .NET con Rake y TeamCity . Aproximadamente 3/4 del camino hacia abajo muestra lo que quiero decir:
Para lograr lo anterior, hice algo similar en Ruby. Configuré una variable $ NUnit, si la propiedad ENV ['AGENT_WORKING_DIR'] existe, entonces uso el corredor TeamCity NUnit, de lo contrario uso la NUnit normal (es decir, para que los desarrolladores puedan ejecutar el script Rake).