Je veux affirmer qu’une liste n’est pas vide dans JUnit 4, quand j’ai cherché sur Google à ce sujet, j’ai trouvé ce message: Vérification qu’une liste n’est pas vide dans Hamcrest qui utilisait Hamcrest.
assertThat(result.isEmpty(), is(false));
ce qui me donne cette erreur:
La méthode est (booléen) est indéfinie pour le type MaintenanceDaoImplTest
comment puis-je faire cela sans utiliser Hamcrest
.
Vous pouvez simplement utiliser
assertFalse(result.isEmpty());
En ce qui concerne votre problème, cela est simplement dû au fait que vous avez oublié d'importer de manière statique la méthode is()
depuis Hamcrest;
import static org.hamcrest.CoreMatchers.is;
Cela se lit assez bien et utilise Hamcrest. Exactement ce que vous avez demandé;) Toujours agréable quand le code se lit comme un commentaire.
assertThat(myList, is(empty()));
assertThat(myList, is(not(empty())));
Vous pouvez ajouter is
en tant qu'importation statique à votre IDE, car je sais qu'Eclipse et IntelliJ ont du mal à le suggérer même lorsqu'il se trouve sur le chemin de classe.
Settings -> Code Style -> Java -> Imports
Prefs -> Java -> Editor -> Content Assist -> Favourites
Et l'importation elle-même est import static org.hamcrest.CoreMatchers.is;
Je cherchais aussi quelque chose de similaire, mais le travail le plus facile peut être
Assert.AreEqual(result.Count, 0);
Lorsque la collection n'a pas d'enregistrements.