Pregunta

Estoy teniendo una situación interesante. En mi ensamblaje de pruebas, tengo carpetas que tienen clases de prueba específicas, es decir, TestFixture's. Considere, por ejemplo, la siguiente jerarquía en VS:

Sol
  TestProject
    TestFolder1
      TestClass1
      TestClass2
    TestFolder2
      TestClass3

Ahora, cuando ejecuto la siguiente línea de comando AT:

nunit-console.exe /run:Sol.TestProject.TestFolder1.TestClass2 TestProject.dll

Las cosas están funcionando bien y todas las pruebas están pasando. Pero, si ejecuto a continuación:

nunit-console.exe /run:Sol.TestProject.TestFolder1 TestProject.dll

En este caso, algunas de las pruebas en TestClass2 están fallando.

He intentado descargar el estado de algunos de los objetos relevantes involucrados en la prueba, y el estado parecía estar bien al comienzo del código de prueba en ambos casos. Además, TestClass1/2/3 no tiene una superclase haciendo algo, por lo que también se descarta. ¿Alguna idea de qué más puede estar pasando aquí?

Estoy usando VS2010/.NET4.0 (4.0.30319.1)/NUNIT 2.5.9.

¿Fue útil?

Solución

Finalmente descubrí esto. Estaba usando un clase singleton para almacenar ciertas opciones. Parece que la instancia de la clase Singleton se conserva entre ejecuciones de diferentes testifes (es decir, clases de prueba), cuando se ejecutan juntos, por ejemplo, para una carpeta o para un proyecto. Inicialmente, no arrojé el estado de este objeto, porque pensé que la clase Singleton tendrá una nueva instancia para cada una de las actividades de prueba. Hallazgo interesante, espero que esto ayude a alguien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top