Issue
I have these values coming from a test
previousTokenValues[1] = "1378994409108"
currentTokenValues[1] = "1378994416509"
and I try
// current timestamp is greater
assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));
I get the java.lang.AssertionError
and detailMessage
on debugging is null
.
How can I assert greater than conditions in using JUnit
Solution
Just how you've done it. assertTrue(boolean)
also has an overload assertTrue(String, boolean)
where the String
is the message in case of failure; you can use that if you want to print that such-and-such wasn't greater than so-and-so.
You could also add hamcrest-all
as a dependency to use matchers. See 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])));
That gives an error like:
java.lang.AssertionError: timestamp
Expected: a value greater than <456L>
but: <123L> was less than <456L>
Answered By - yshavit