BT

Nouveau Early adopter ou innovator ? InfoQ a travaillé sur de nouvelles fonctionnalités pour vous. En savoir plus

Simplifier ses assertions avec assertJ 1.3.0

| par David Wursteisen Suivre 0 Abonnés le 08 oct. 2013. Durée de lecture estimée: 1 minute |

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

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

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT