tutorial test software para hacer framework ejemplos descargar configuracion como java testing junit junit4

java - test - Cómo hacer JUnit para imprimir aserciones y resultados.



junit tutorial (3)

Primero, tienes dos problemas no uno. Cuando una aserción falla, se lanza una excepción AssertionError . Esto evita que se verifique cualquier afirmación pasada este punto. Para solucionar esto, necesita utilizar un ErrorCollector .

En segundo lugar, no creo que haya ninguna forma incorporada a JUnit para hacer esto. Sin embargo, podría implementar sus propios métodos que envuelven las aserciones:

public static void assertNotNull(String description, Object object){ try{ assertNotNull(description, object); System.out.println(description + " - passed"); }catch(AssertionError e){ System.out.println(description + " - failed"); throw e; } }

Tengo algunas pruebas como esta:

@Test public void test01() { Position p = getPositionAt(''a'', 1); assertNotNull("a1 exists", p); assertNotNull("figure exists a1", p.getFigure()); p = getPositionAt(''a'', 2); assertNotNull("exists a2", p); assertNull("figure exists a2", p.getFigure()); p = getPositionAt(''b'', 1); assertNotNull("exists b1", p); assertNull("figure exists b1", p.getFigure()); }

Lo que necesito al ejecutar las pruebas es imprimir cada mensaje de afirmación a la salida estándar y luego el resultado de la afirmación.

Este es el formato requerido de la clase de prueba:

a1 exists -success figure exists a1 -success exists a2 -success figure exists a2 -succcess exists b1 -succcess figure exists b1 -failed

Pero, ¿cómo hacer eso? Soy bastante nuevo trabajando con JUnit y no tengo idea. ¿Hay manera de usar runners y suites ? ¿O existe algún assertSuccess() , assertFailed() ? Gracias por cualquier pista.


Todos los métodos de assertXXX tienen un formulario que permite mostrar una cadena en caso de error:

assertNotNull("exists a2", p); // prints "exists a2" if p is null

No hay un valor particular en la impresión de un mensaje en caso de éxito.

EDITAR

Junit proporciona típicamente 2 formas de una afirmación. Para seguir el ejemplo anterior, puede probar un valor nulo en 1 de 2 formas:

assertNotNull(p)

o

assertNotNull("my message on failure", p)

El marco imprimirá los mensajes de error sin ningún otro esfuerzo requerido por usted (es proporcionado por el marco).

Para probar las excepciones, usaría el siguiente patrón:

try{ someCall(); catch(Exception e){ fail(): // exception shouldn''t happen, use assertTrue(true) if it should }

Nuevamente, hay versiones de estos métodos para agregar un mensaje.

Comprueba la API


Una última opción es emparejar cada aseveración con un System.out.println correspondiente, aunque obviamente eso no es lo ideal. Aún así, resolverá el problema si todo lo demás falla.