2012-05-08 14 views
8

Estoy intentando depurar en las pruebas después de llamar al método de configuración y las pruebas dependen del método de instalación que se está llamando.Nunit no ejecuta el método SetUp en el modo de depuración de Visual Studio

Estoy usando Nunit 2.6.0.12051 probando una biblioteca de clases .Net 4.0. El proyecto de nunit Visual Studio tiene una clase marcada con [SetUpFixture] y un método marcado con [SetUp].

Si ejecuto las pruebas desde la GUI NUnit, estoy bastante seguro de que se llama a la configuración attrib'd class (porque no se detiene en la clase de configuración con un error en tiempo de ejecución ahora) pero puedo ' t depurar en él. Si trato de cambiar la configuración para ver el trazado detallado, NUnit gui arroja una excepción no controlada.

Si ejecuto las pruebas desde Visual Studio mediante Test View/Debug Selection, el punto de corte en el método de instalación no detiene la ejecución y las instrucciones de rastreo dentro del método no se imprimen en la ventana de depuración. Así que estoy seguro de que el método de instalación no se llamará.

Si bien podría simplemente cambiar la clase de configuración para que sea la base de todas las clases de prueba, solo necesito ejecutar el método una vez.

Cualquier ayuda sería maravillosa.

+0

Por falta de una respuesta técnica, y después de haber considerado esto desde una perspectiva de diseño. Voy a eliminar los attribs y simplemente llamar al método de las pruebas que dependen de él (90% de las pruebas). El método también tendrá una bandera que solo hace el trabajo si no se ha realizado previamente. Esto permitirá que cada prueba sea fácil de leer en términos de lo que sucede, en lugar de hacer que algo funcione, encuentre el método de configuración o la clase base. – DFBerry

Respuesta

2

Acabo de notar lo mismo cuando uso la última NUnit de NuGet (2.6). El método [Setup] no se ejecuta antes de los [Test] -methods.

No sé por qué cambiaron esta parte bastante importante de NUnit, pero lo arreglé para mis propósitos volviendo a la versión 2.5.10 que ejecuta [Configuración] antes de [Prueba].

+0

Acabo de encontrar esto, así que sigue siendo un problema en 2.6.2 – Jammer

+2

Tenga en cuenta que [SetUp] distingue entre mayúsculas y minúsculas, al menos eso me solucionó el problema en v2.6.4, donde inadvertidamente utilicé otro [Configuración] atributo que supuestamente fue agregado por NUnit o VS. –

1

Tuve este problema también pero la instalación de la última versión del corrector de prueba (TestDriven.NET en mi caso) lo solucionó. No fue un problema de NUnit para mí.

3

Me acabo de encontrar con este tema y, finalmente, encontré esta frase significativa de la NUnit SetUpFixture documentation:

"Este es el atributo que marca una clase que contiene la configuración o desmontaje métodos de una sola vez para todos los accesorios de la prueba en virtud de una espacio de nombres dado ".

Resultó que mi clase SetUpFixture estaba en un espacio de nombre completamente diferente al de mis pruebas, por lo que no se estaba ejecutando.

Cuestiones relacionadas