2012-02-20 20 views
39

El uso de la biblioteca hamcrest para Java, lo que es una forma bien legible a hacer lo contrario de:afirman no contiene elemento

assertThat(someCollection, hasItem(someItem)) 

quiero para asegurarse de someCollection no contiene elemento someItem

Respuesta

70

Negativo la afirmación de hasItem

assertThat(someCollection, not(hasItem(someItem))) 
+4

Una vez que importé el paquete IsNot ('import static org.hamcrest.core.IsNot.not') funcionó bien. – harschware

+0

El 'Matcherzs' define todos los. métodos de fábrica para que pueda tener una única importación estática '*'. Buscaré un trabajo si nadie más publica la línea en la próxima hora. –

+5

@harschware: del [tutorial básico] (http://code.google.com/p/hamcrest/wiki/Tutorial), 'import static org.hamcrest.MatcherAssert.assertThat;' y 'import static org.hamcrest. Matchers. *; ' –

1

Si necesita hacer valer una matriz, el mismo uso lógica 'no (hasItemInArray())'

final String[] availableIds = {"123", "321"}; 
     final String userId = "333"; 

     softAssert.assertThat("Id not found", availableIds, not(hasItemInArray(userId))); 
     softAssert.assertAll(); 
Cuestiones relacionadas