2011-08-09 4 views
6

Tengo algunos casos de prueba para la automatización de la IU del sitio web.NUnit - Repita el caso de prueba por 3 veces, si falla

Quiero probar mi estuche de prueba al menos tres veces, si falla por primera y segunda vez. De esa forma, quiero asegurarme de que este caso de prueba falle constantemente.

Háganme saber, si tenemos alguna opción para usar en NUnit. Estoy usando C# con NUnit.

+4

Si la prueba puede fallar sólo a veces, la prueba es erróneo. Las pruebas unitarias fallan o tienen éxito. ¿Qué tipo de lógica tienes en tu prueba? – NOtherDev

+0

¿Es posible que esté confundiendo las pruebas de integración para las pruebas unitarias? Este último debería, como ya se señaló, ser coherente. –

Respuesta

2

Hay 4 excepciones que nunit usa para indicar el resultado de una prueba. Estos son: TimeoutException, AssertException, SuccessException e IgnoreException. Puede usar estos desde dentro de sus funciones de prueba nunit. Supongo que podría poner su código de prueba en una captura de prueba y atrapar la excepción de declaración de nunidad exactamente dos veces. Pero debería decir, como comenté antes, la necesidad de una prueba intermitentemente fallida es una razón para repensar.

+3

Estamos trabajando en la automatización de la interfaz de usuario web. Existe una buena posibilidad de que alguna vez la página no se cargue correctamente o algún problema de red o algún problema temporal. Queremos asegurarnos de que en dos o tres ciclos haga lo mismo, para que las personas puedan dedicar tiempo e investigar. Además, esto superará la falsa alarma. – kumar

5

Para el bucle sobre la lógica, cuente las fallas. Assert. (Failure == 0) Boom hecho.

No haga esto. Escribe una mejor prueba que puedas probar es consistente.

+1

Estamos trabajando en la automatización de la IU web. Existe una buena posibilidad de que alguna vez la página no se cargue correctamente o algún problema de red o algún problema temporal. Queremos asegurarnos de que en dos o tres ciclos haga lo mismo, para que las personas puedan dedicar tiempo e investigar. Además, esto superará la falsa alarma. – kumar

+0

¿Hay excepciones específicas que está buscando? ¿Hay un caso específico de borde que está causando un problema? Escribir una prueba que usa un número aparentemente arbitrario de ciclos de "2 a 3" no suena como una prueba fuerte, útil o verificable. Puede escribir una prueba para forzar una carga de página sin éxito. Siento que esto te dará confianza en tu lugar. –

15

Puede agregar un nuevo atributo en la nunidad según el atributo repeat y reconstruir la biblioteca. Es muy sencillo.

[Test] 
    [Repeat(25)] 
    public void MyTest(){ 
     // your test logic here 
    } 
5

A partir de NUnit 3.0, no es un atributo 'reintento' que parece que va a hacer exactamente lo que quiere Kumar.

Ver Retry Attribute

Cuestiones relacionadas