BT

Simplifier ses assertions avec assertJ 1.3.0

par David Wursteisen le 08 oct. 2013 |

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>

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

Donnez-nous votre avis

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

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

AssertJ 1.4.0 by Joel Costigliola

Hello,

Merci pour l'article, juste deux petites choses
- AssertJ 1.4.0 est disponible : github.com/joel-costigliola/assertj-core/wiki/N...
- les URL que tu as mis ne sont pas valides,ex assertj pointe sur www.infoq.com/fr/news/2013/10/url2

Joel Costigliola

Re: AssertJ 1.4.0 by Julien Vey

Les URLs sont corrigees

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

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

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

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

2 Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2013 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT