tutorial test español ejemplos java junit

java - test - ¿Cómo afirmar algo más que usar JUnit Assert?



junit tutorial español (6)

Cómo lo has hecho. assertTrue(boolean) también tiene una sobrecarga assertTrue(String, boolean) donde la String es el mensaje en caso de error; puede usarlo si desea imprimir que tal y tal no fue mayor que tal y tal.

También puede agregar hamcrest-all como una dependencia para usar los mezcladores. Ver https://code.google.com/p/hamcrest/wiki/Tutorial :

import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; assertThat("timestamp", Long.parseLong(previousTokenValues[1]), greaterThan(Long.parseLong(currentTokenValues[1])));

Eso da un error como:

java.lang.AssertionError: timestamp Expected: a value greater than <456L> but: <123L> was less than <456L>

Tengo estos valores procedentes de una prueba

previousTokenValues[1] = "1378994409108" currentTokenValues[1] = "1378994416509"

y yo trato

// current timestamp is greater assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));

Obtengo java.lang.AssertionError y detailMessage en la depuración es null .

¿Cómo puedo afirmar condiciones mayores que usando JUnit


Cuando uso JUnit afirma, siempre hago el mensaje agradable y claro. Se ahorra una gran cantidad de depuración de tiempo. Haciéndolo de esta manera evita tener que agregar una dependencia añadida en Hamcrest Matchers.

previousTokenValues[1] = "1378994409108"; currentTokenValues[1] = "1378994416509"; Long prev = Long.parseLong(previousTokenValues[1]); Long curr = Long.parseLong(currentTokenValues[1]); assertTrue("Previous (" + prev + ") should be greater than current (" + curr + ")", prev > curr);


Debe agregar Hamcrest-library a su ruta de compilación. Contiene la clase Matchers.class que tiene el método lessThan ().

Dependencia como abajo.

<dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>1.3</version> </dependency>


Puedes ponerlo así

assertTrue("your fail message ",Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));


también puedes probar debajo de una simple solución:

previousTokenValues[1] = "1378994409108"; currentTokenValues[1] = "1378994416509"; Long prev = Long.parseLong(previousTokenValues[1]); Long curr = Long.parseLong(currentTokenValues[1]); Assert.assertTrue(prev > curr );


assertTrue("your message", previousTokenValues[1].compareTo(currentTokenValues[1]) > 0)

esto pasa por valores> anteriores