148 votes

Comment affirmer plus que l'utilisation de JUnit Assert ?

J'ai ces valeurs provenant d'un test

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

et j'essaie

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

J'obtiens le java.lang.AssertionError y detailMessage sur le débogage est null .

Comment puis-je affirmer des conditions plus grandes que dans l'utilisation de la fonction JUnit

3voto

Andrey Points 2962

Alternativement, si vous ajoutez une bibliothèque supplémentaire telle que hamcrest n'est pas souhaitable, la logique peut être mise en œuvre comme une méthode utilitaire utilisant junit dépendance uniquement :

public static void assertGreaterThan(int greater, int lesser) {
    assertGreaterThan(greater, lesser, null);
}

public static void assertGreaterThan(int greater, int lesser, String message) {
    if (greater <= lesser) {
        fail((StringUtils.isNotBlank(message) ? message + " ==> " : "") +
                "Expected: a value greater than <" + lesser + ">\n" +
                "But <" + greater + "> was " + (greater == lesser ? "equal to" : "less than") + " <" + lesser + ">");
    }
}

2voto

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

cela passe pour les valeurs précédentes > actuelles

0voto

blackbird014 Points 1189

Vous pouvez le formuler comme suit

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X