BT

Accueil InfoQ Actualités Simplifier ses assertions avec assertJ 1.3.0

Simplifier ses assertions avec assertJ 1.3.0

Favoris

Les différents frameworks de test unitaire Java viennent avec un ensemble d'assertions basiques.

assertEquals("expected", result);
asertTrue(result);
assertSame(expectedObj, actualObj);
assertNull(actualObj);

assertJ est une bibliothèque d'assertion plus complète et fortement typée, inspirée d'une autre bibliothèque, fest-assert. Ainsi, assertJ propose une API "fluent" avec des assertions spécifiques selon le type voulu.

assertThat("hello world").startWith("hello");
assertThat(10).isGreaterThan(2);

De plus, assertJ prend en compte les types les plus courants du JDK, comme ceux de l'API Collections, BigDecimal, Date et propose donc des assertions spécifiques pour ces différentes classes.

assertThat(Arrays.asList("a", "b", "c")).hasSize(3);
assertThat(Arrays.asList("a", "b", "c")).containsExactly("a", "b", "c");
assertThat(aMap).containsEntry("ip", "127.0.0.1");
assertThat(new BigDecimal("99.99")).isGreaterThan(BigDecimal.ZERO);
assertThat(new Date()).isBefore("2013-07-01");

Joel Costigliola, créateur d'assertJ, vient de publier la version 1.3.0 d'assertJ. Cette nouvelle version apporte des assertions sur le type Class.

assertThat(Serializable.class).isInterface();
// vérifie que la class Personne possède les champs "prenom" et "nom"
assertThat(Personne.class).hasDeclaredFields("prenom","nom");

Elle introduit également de nouvelles assertions sur les Throwables et les tableaux.

La version 1.3.0 d'assertJ est disponible sur le repository central de maven. Vous pouvez la rendre disponible, dans votre projet Maven, en l'ajoutant en tant que dépendance dans votre pom.xml :

<dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-core</artifactId>
    <version>1.3.0</version>
    <scope>test</scope>
</dependency>

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Votre profil est-il à jour? Merci de prendre un instant pour vérifier.

Note: en cas de modification de votre adresse email, une validation sera envoyée.

Nom de votre entreprise:
Rôle dans votre entreprise:
Taille de votre entreprise:
Pays/Zone:
État/Province/Région:
Vous allez recevoir un email pour confirmer la nouvelle adresse email. Ce pop-up va se fermer de lui-même dans quelques instants.