web-dev-qa-db-fra.com

affirmer qu'une liste n'est pas vide dans JUnit

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.

25
Ichigo Kurosaki

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;
55
JB Nizet

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.


IntelliJ

Settings -> Code Style -> Java -> Imports 

Éclipse

Prefs -> Java -> Editor -> Content Assist -> Favourites 

Et l'importation elle-même est import static org.hamcrest.CoreMatchers.is;

6
LazerBanana

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.

0
Sahil Mehtani