Ceci est corrigé dans Hamcrest 1.3. Le code ci-dessous compile et ne génère aucun avertissement :
// given
List<String> list = new ArrayList<String>();
// then
assertThat(list, is(not(empty())));
Mais si vous devez utiliser une version plus ancienne - au lieu d'une version boguée empty()
que vous pourriez utiliser :
hasSize(greaterThan(0))
( import static org.hamcrest.number.OrderingComparison.greaterThan;
ou
import static org.hamcrest.Matchers.greaterThan;
)
Exemple :
// given
List<String> list = new ArrayList<String>();
// then
assertThat(list, hasSize(greaterThan(0)));
Le plus important dans les solutions ci-dessus est qu'elles ne génèrent aucun avertissement. La deuxième solution est encore plus utile si vous souhaitez estimer la taille minimale des résultats.
2 votes
Pour une meilleure solution, votez pour : code.google.com/p/hamcrest/issues/detail?id=97
2 votes
Le problème #97 de @FabricioLemos semble avoir été résolu et intégré à la branche git master. Espérons qu'il sera bientôt disponible dans la prochaine version de Hamcrest.
0 votes
@rafalmag Bon point. Ce sera bien de corriger toutes mes assertions pas très lisibles lorsque la v1.3 sera publiée.