J'ai parcouru le net mais j'ai du mal à trouver un moyen de faire en sorte qu'AssertJ vérifie le type de données. Par exemple, je souhaite vérifier que la valeur d'une réponse JSON est un type de données long ou non un double :

Quelque chose comme ça:

JsonPath jp = response.jsonPath();
long money= jp.get("amount.money");
Assertions.assertThat(money).isNotDouble; //isNotDouble is not a valid method, but I want to achieve something similar to this. isLong also does not exist.

Existe-t-il un moyen de créer comme une expression régulière ou un modèle pour money et de l'utiliser comme point de vérification ?

0
The man 30 oct. 2020 à 17:29

1 réponse

Meilleure réponse

De telles méthodes existent oui.

Assertions.assertThat(table).isInstanceOf(Long.class);
Assertions.assertThat(table).isInstanceOfAny(Long.class, Number.class);
Assertions.assertThat(table).isExactlyInstanceOf(Long.class);
Assertions.assertThat(table).isInstanceOfSatisfying(Long.class, num -> {
        
});

Et il n'y a pas de variante.

2
jmaniquet 30 oct. 2020 à 14:40