IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ Tests Consultez toutes les FAQ

Nombre d'auteurs : 2, nombre de questions : 40, dernière mise à jour : 31 décembre 2017  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

SommaireLe framework JUnitAutres extensions (1)
précédent sommaire suivant
 

Une alternative aux assertions JUnit : les assertions d’AssertJ, une bibliothèque mettant à disposition des assertions tout en adoptant le style de code « fluent ».

Voici des exemples inspirants d’assertions issues de la documentation officielle d’AssertJ :

Code java : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Un seul import static à faire, c'est bien pratique 
import static org.assertj.core.api.Assertions.*; 
  
// Assertions simples 
assertThat(frodo.getName()).isEqualTo("Frodo"); 
assertThat(frodo).isNotEqualTo(sauron) 
                 .isIn(fellowshipOfTheRing); 
  
// Assertions spécifiques aux chaînes de caractères ("commence par", "termine par", comparaison sans casse) 
assertThat(frodo.getName()).startsWith("Fro") 
                           .endsWith("do") 
                           .isEqualToIgnoringCase("frodo"); 
  
// Assertions spécifiques aux collections ("a pour taille", "contient", "ne contient pas") 
assertThat(fellowshipOfTheRing).hasSize(9) 
                               .contains(frodo, sam) 
                               .doesNotContain(sauron); 
  
// fellowshipOfTheRing est un objet de type List<TolkienCharacter>, dont on extrait une collection de chaînes de caractères sur l'attribut "name" de TolkienCharacter 
assertThat(fellowshipOfTheRing).extracting("name") 
                               .contains("Boromir", "Gandalf", "Frodo", "Legolas") 
                               .doesNotContain("Sauron", "Elrond"); 
  
// Même chose en utilisant la syntaxe de Java 8 
assertThat(fellowshipOfTheRing).extracting(TolkienCharacter::getName) 
                               .contains("Boromir", "Gandalf", "Frodo", "Legolas") 
                               .doesNotContain("Sauron", "Elrond"); 
  
// Filtrer la collection avant de faire des assertions 
assertThat(fellowshipOfTheRing).filteredOn("race", HOBBIT) 
                               .containsOnly(sam, frodo, pippin, merry); 
  
  
// Filtrer la collection avant de faire des assertions avec un prédicat Java 8 
assertThat(fellowshipOfTheRing).filteredOn(character -> character.getName().contains("o")) 
                               .containsOnly(aragorn, frodo, legolas, boromir); 
  
// Combiner les filtres et extractions 
assertThat(fellowshipOfTheRing).filteredOn(character -> character.getName().contains("o")) 
                               .containsOnly(aragorn, frodo, legolas, boromir) 
                               .extracting(character -> character.getRace().getName()) 
                               .contains("Hobbit", "Elf", "Man");

À noter qu'il existe d'autres libs pour faire des assertions comme Harmcrest par exemple.

Mis à jour le 29 décembre 2017 ok.Idriss

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2021 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.