J'ai ces valeurs issues d'un test
previousTokenValues[1] = "1378994409108"
currentTokenValues[1] = "1378994416509"
et j'essaye
// current timestamp is greater
assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));
Je reçois le java.lang.AssertionError
et detailMessage
sur le débogage est null
.
Comment puis-je affirmer des conditions d'utilisation supérieures à JUnit
Réponses:
Juste comment vous l'avez fait.
assertTrue(boolean)
a également une surchargeassertTrue(String, boolean)
où leString
est le message en cas d'échec; vous pouvez l'utiliser si vous voulez imprimer que tel ou tel n'était pas plus grand que tel ou tel.Vous pouvez également ajouter
hamcrest-all
comme dépendance pour utiliser des matchers. Voir https://code.google.com/p/hamcrest/wiki/Tutorial :Cela donne une erreur comme:
la source
OrderingComparison
lequel contientgreaterThan
: hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/number<groupId>org.hamcrest</groupId>
,<artifactId>hamcrest-all</artifactId>
Lorsque j'utilise les assertions JUnit, je rends toujours le message clair et clair. Cela économise énormément de temps au débogage. Faire cela de cette façon évite d'avoir à ajouter une dépendance supplémentaire sur hamcrest Matchers.
la source
vous pouvez également essayer ci-dessous la solution simple:
la source
Vous devez ajouter Hamcrest-library à votre chemin de construction. Il contient le Matchers.class nécessaire qui a la méthode lessThan ().
Dépendance comme ci-dessous.
la source
cela passe pour les valeurs précédentes> actuelles
la source
Sinon, si l'ajout d'une bibliothèque supplémentaire
hamcrest
n'est pas souhaitable, la logique peut être implémentée en tant que méthode utilitaire en utilisantjunit
uniquement la dépendance:la source
Comme je le reconnais, pour le moment, dans JUnit, la syntaxe est la suivante:
Cela signifie que la condition est devant le message.
la source
Tu peux le mettre comme ça
la source