Pregunta

Estoy utilizando NUnit afirma dentro de un proyecto MSTest como las siguientes ( Nota: Esto no debería importa ver observaciones sobre la respuesta de Dave Falkner):

using Microsoft.VisualStudio.TestTools.UnitTesting;
using MSTestExtensions;
using Assert = NUnit.Framework.Assert;
using Is = NUnit.Framework.Is;

Esto ha funcionado muy bien en mis pruebas de unidad, pero en mis pruebas de integración estoy teniendo algunos problemas. Creo que podría ser debido a MSTestExtensions como mis pruebas unitarias no lo utilizaban. Además, si comento hacia fuera los MSTestExtensions usando estados, el estado MSTestExtensionsTestFixture hereda de la clase, y el atributo [TestTransaction], no tengo este problema. La adición de la parte posterior declaración en el uso no causa el problema. Añadiendo el atributo [TestTransaction] no causa el problema. Una vez que heredar de MSTestExtensionsTestFixture en la clase de prueba, el tema en sí misma ofrece.

Básicamente, el problema es que cuando ejecuto el código siguiente en una situación que se producirá un error (por ejemplo, la lista actualPartNumbers que contiene dos partes, mientras que la lista de espera contiene sólo uno), la AssertionException va no controlada por MSTest.

Assert.That(actualPartNumbers, Is.EquivalentTo(expectedPartNumbers));

Así, el IDE se detiene en la excepción lanzada, en lugar de no pasan la prueba. A veces esto no sucede y la prueba fallará normalmente. Pero en la mayoría de los casos, el IDE se detiene en la excepción lanzada. Algunas ideas?

Para su información: Estoy usando MSTestExtensions para que yo puedo hacer restauraciones de bases de datos (atributos) [TestTransaction] después de cada prueba. Esto es similar a la función de reversión de MbUnit. Estoy anulando MSTest de afirma con NUnit es porque me gusta el estilo fluidez mejor. Por último, estoy usando MSTest porque estoy teniendo problemas con NUnit. Particularmente con Microsoft Moles y conflictos con las referencias de terceros que utilizan log4net . Estoy haciendo mi mejor esfuerzo para configurar las pruebas de la unidad / de integración para ser capaz de ejecutar en cualquier marco en el caso de que el interruptor. Pero por ahora MSTest parece ser el menos molestia y la integración en el IDE es muy agradable.

¿Fue útil?

Solución

¿Podría tal vez sólo sea una cuestión de la combinación de teclas que está utilizando para iniciar las pruebas:? CTRL + R, Ctrl + T vs Ctrl + R, T

http://stevesmithblog.com/blog / run-mstest-sin-romper-en-excepciones-en-VS2010 /

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