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>
Commentaires de la Communauté
AssertJ 1.4.0
by Joel Costigliola,
Re: AssertJ 1.4.0
by Julien Vey,
AssertJ 1.4.0
by Joel Costigliola,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
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,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
Les URLs sont corrigees