Tengo estos valores provenientes de una prueba.
previousTokenValues[1] = "1378994409108"
currentTokenValues[1] = "1378994416509"
y lo intento
// current timestamp is greater
assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));
Obtengo el java.lang.AssertionError
y la detailMessage
depuración null
.
¿Cómo puedo afirmar más que condiciones al usar JUnit
Respuestas:
Cómo lo has hecho.
assertTrue(boolean)
también tiene una sobrecargaassertTrue(String, boolean)
dondeString
es el mensaje en caso de falla; puede usar eso si desea imprimir que tal y tal no era más grande que tal y tal.También puede agregar
hamcrest-all
como dependencia para usar comparadores. Consulte https://code.google.com/p/hamcrest/wiki/Tutorial :Eso da un error como:
fuente
OrderingComparison
que contienegreaterThan
: hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/number/…<groupId>org.hamcrest</groupId>
,<artifactId>hamcrest-all</artifactId>
Cuando utilizo JUnit afirma, siempre hago que el mensaje sea agradable y claro. Ahorra una gran cantidad de tiempo en la depuración. Hacerlo de esta manera evita tener que agregar una dependencia adicional en hamcrest Matchers.
fuente
También puede probar a continuación una solución simple:
fuente
Debe agregar Hamcrest-library a su Build Path. Contiene el Matchers.class necesario que tiene el método lessThan ().
Dependencia como se muestra a continuación.
fuente
esto pasa por valores anteriores> actuales
fuente
Alternativamente, si agregar una biblioteca adicional como
hamcrest
no es deseable, la lógica se puede implementar como método de utilidad usandojunit
solo la dependencia:fuente
Como reconozco, en este momento, en JUnit, la sintaxis es así:
Significa que la condición está delante del mensaje.
fuente
Puedes ponerlo así
fuente