2011-08-18 10 views
6

Tengo un conjunto de prueba de unidad, usando NUnit, que contiene miles de pruebas en varios espacios de nombres y dispositivos.NUnit: Dispositivo de configuración global no utilizado cuando el dispositivo para ejecutar se especifica en la línea de comando

Quiero ejecutar una configuración global antes de ejecutar cualquier prueba en mi ensamblaje (configuración de escuchas Trace). Puedo hacer esto creando un [SetUpFixture] en el espacio de nombres global.

Esto funciona bien cuando se ejecuta todas las pruebas por ejemplo:
nunit.exe testassembly.exe

Sin embargo, si puedo especificar un accesorio para poner a prueba, a continuación, la configuración global se ejecuta, por ejemplo:
nunit.exe testassembly.exe /fixture=MyTests

¿Cómo proporciono mundial configuración que siempre se ejecuta antes de que se ejecuten las pruebas en un ensamblaje?

ACTUALIZACIÓN:

Tenga en cuenta que el corredor de prueba de la consola funcionará bien usando la opción /run, es decir, la configuración mundial se ejecuta incluso cuando sólo se ejecuta un accesorio de prueba en particular. Estoy buscando una solución para el corredor de prueba GUI.

+0

¿Qué versión de NUnit está utilizando? – sll

+0

@sllev - NUnit 2.5.5. También probado con la última versión estable 2.5.10.11092. – Ergwun

+1

Publique su pregunta como respuesta, me ayudó. –

Respuesta

7

Charlie Poole sugirió una alternativa en el NUnit discussion forum.

La solución recomendada es incluir toda la configuración y el desmontaje en el nivel del dispositivo utilizando [TestFixtureSetup] y [TestFixtureTearDown].

La configuración y el desmontaje global se pueden lograr así utilizando una clase base para que los dispositivos de prueba compartan el código entre los dispositivos. Para una configuración global destinada a ejecutarse solo una vez antes de cualquier dispositivo, se puede usar un indicador para evitar que se ejecute varias veces.

P.S. La opción/accesorio está en desuso estos días.

Cuestiones relacionadas