sábado, 21 de noviembre de 2015

Junit 5 se viene con nueva Api


Leyendo Javahispano quede anonadado con la nueva versión de Junit 5 que hace un uso de clausuras de Java 8. Con un muy buen criterio decidieron utilizar clausuras para la nueva versión de Junit.

Con esta nueva Api tenemos pruebas más entendibles, más fáciles de seguir y más cercanas a las user stories.

Veamos un ejemplos:

class MyTest {

  @Test
  void standardAssertions() {
    assertEquals(2, 2);
    assertEquals(4, 4, "The optional assertion message is now the last parameter.");
    assertTrue(2 == 2, () -> "Assertion messages can be lazily evaluated -- " +
                             "to avoid constructing complex messages unnecessarily.");
  }

  @Test
  void groupedAssertions() {
    // In a grouped assertion all assertions are executed, and any
    // failures will be reported together.
    assertAll("address",
      () -> assertEquals("Johannes", address.getFirstName()),
      () -> assertEquals("Link", address.getLastName())
    );
  }

  @Test
  void exceptionTesting() {
    Throwable exception = expectThrows(IllegalArgumentException.class,
      () -> throw new IllegalArgumentException("a message")
    );
    assertEquals("a message", exception.getMessage());
  }

}

Muy buena idea!!

Dejo link:
http://www.javahispano.org/portada/2015/11/18/nueva-api-para-junit-5.html
https://github.com/junit-team/junit-lambda/wiki/Prototype-Writing-Test-Cases