2010-11-24 10 views
6

En MbUnit uno puede hacer algo como esto:pruebas unitarias MSTEST pueden agrupar en categorías

[Test] 
[TestCategory("Bad Arguments")] 
[TestCategory("Fast")] 
[ExpectedException(typeof(ArgumentNullException))] 
public void TestCopyWithBadHref() 
{ 
    . . . 
} 

Nota estos dos:

[TestCategory("Bad Arguments")] 
[TestCategory("Fast")] 

Desde TeamBuild se puede integrar con MSTEST para realizar check- cerrada ins y/o correr por la noche, ¡es una gran característica! Sin embargo, dado que algunas pruebas pueden ejecutarse durante mucho tiempo, es conveniente separarlas en las pruebas que se deben ejecutar antes de que se confirme cada registro, y las pruebas que deben ejecutarse por la noche en lugar de su duración, así como otras pruebas factores.

Una forma de lograrlo podría ser crear varios proyectos, uno para pruebas lentas, uno para pruebas rápidas, etc. Sin embargo, esta separación es inconveniente. Las dependencias de proyecto no se sentirían tan naturales, además algunas pruebas pueden estar en más de una categoría lógica.

Sería genial si MsTest tuviera algo similar a lo que MbUnit ha tenido durante mucho tiempo. Por ejemplo, uno puede ejecutar MbUnit.Cons.exe y especificar la categoría que se utilizará con un modificador de línea de comandos.

¿Cómo puedo lograr lo mismo usando MsTest? Somos una tienda de MSFT y no pude vender MbUnit a mis compañeros de trabajo.

Respuesta

12

Usted puede usar la opción/categoría para filtrar las pruebas en VS 2010.

Utiliza el testcategory attribute. Detalles sobre el /category option.

C# código podría ser algo como esto:

[Description("test 123456"), TestCategory("Edit Tests"), TestCategory("Non-Smoke"), TestMethod] 
public void VerifyEditsPersist() 
+1

¿Cómo se ve el atributo como en C# código? ¿Tienes un ejemplo o un enlace que pueda estudiar? –

+1

¿Es posible crear un perfil .testsettings en Visual Studio para ejecutar pruebas con una categoría determinada u omitir ciertas pruebas por categoría? Entiendo que es factible desde la línea de comandos ... ¿pero qué hay del IDE? –

+1

En vista de prueba Puede filtrar las pruebas según la categoría – sam