Pregunta

acabo de descubrir que estaba recibiendo el doble de la cantidad de pruebas ejecutadas que yo he estado recibiendo. Descubierto que cuando una prueba se rompió y me dio dos fallos de las pruebas idénticas. Misma prueba, todo igual. Me tiene bastante confuso, pero logró reducirlo a una cierta clase de prueba que era una clase parcial.

La razón era una clase parcial era que había dividir una clase de prueba en dos, sólo para que sea un poco más limpio. La clase bajo prueba tenía un cierto método que requiere una larga serie de pruebas y pensé que sería más limpio para tener aquellos en un archivo separado. Pero como no había uno o dos ayudantes métodos utilizados pensé que sólo pudiera hacer que la clase parcial por lo tanto los archivos aún tenía acceso a esos métodos.

El marco de prueba es NUnit y las pruebas se llevó a cabo mediante el uso de TestDriven.Net. Ran las pruebas tanto desde el interior de un método de prueba individual (informaron dos pruebas pasaron en lugar de uno), en la clase (GOT dos veces el número de pruebas pasaron) y sobre todo el proyecto de prueba.

arreglaron para solucionar el problema haciendo que las clases no solo parcial y la duplicación de esos pequeños métodos auxiliares (podría mover los a una clase de ayuda por separado o algo más tarde).

Ahora ... ¿por qué sucede esto? Pensé clases parciales fueron compilados en una sola clase? Es este un problema con las clases parciales en general, NUnit, Test-Driven.net o algo completamente diferente?

¿Fue útil?

Solución

Es probable que pone el atributo [TestFixture] en ambos archivos de la clase parcial. Esto hará que TestFixture que se emitirá en dos ocasiones en la definición de clase IL NUnit y se ejecutará el mismo código de prueba dos veces. Sólo se debe añadir [TestFixture] en uno de los archivos de su clase parcial.

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