У меня эти значения взяты из теста
previousTokenValues[1] = "1378994409108"
currentTokenValues[1] = "1378994416509"
и я пытаюсь
// current timestamp is greater
assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));
Достаю java.lang.AssertionError
и detailMessage
на отладке есть null
.
Как я могу утверждать большее, чем условия использования JUnit
Ответы:
Как ты это сделал.
assertTrue(boolean)
также имеет перегрузку,assertTrue(String, boolean)
гдеString
это сообщение в случае сбоя; вы можете использовать это, если хотите напечатать, что такой-то не больше, чем такой-то.Вы также можете добавить
hamcrest-all
зависимость для использования сопоставителей. См. Https://code.google.com/p/hamcrest/wiki/Tutorial :Это дает ошибку вроде:
источник
OrderingComparison
которую естьgreaterThan
: hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/number/…<groupId>org.hamcrest</groupId>
,<artifactId>hamcrest-all</artifactId>
При использовании утверждений JUnit я всегда делаю сообщение красивым и ясным. Это экономит огромное количество времени на отладку. Это позволяет избежать добавления дополнительной зависимости от Hamcrest Matchers.
источник
вы также можете попробовать следующие простые решения:
источник
Вам следует добавить Hamcrest-библиотеку в свой путь сборки. Он содержит необходимый класс Matchers.class с методом lessThan ().
Зависимость, как показано ниже.
источник
это проходит для предыдущих> текущих значений
источник
В качестве альтернативы, если добавление дополнительной библиотеки, например,
hamcrest
нежелательно, логика может быть реализована как служебный метод с использованиемjunit
только зависимости:источник
Насколько я понимаю, на данный момент в JUnit синтаксис такой:
Означает, что условие находится перед сообщением.
источник
Вы можете сказать это так
источник