assert that a list is not empty in JUnit
I want to assert that a list is not empty in JUnit 4, when I googled about it I found this post : Checking that a List is not empty in Hamcrest which was using Hamcrest.
assertThat(result.isEmpty(), is(false));
which gives me this error :
The method is(boolean) is undefined for the type MaintenanceDaoImplTest
how can I do that without using Hamcrest
.
You can simply use
assertFalse(result.isEmpty());
Regarding your problem, it's simply caused by the fact that you forgot to statically import the is()
method from Hamcrest;
import static org.hamcrest.CoreMatchers.is;
This reads quite nicely and uses Hamcrest. Exactly what you asked for ;) Always nice when the code reads like a comment.
assertThat(myList, is(empty()));
assertThat(myList, is(not(empty())));
You can add is
as a static import to your IDE as I know that eclipse and IntelliJ is struggling with suggesting it even when it is on the classpath.
IntelliJ
Settings -> Code Style -> Java -> Imports
Eclipse
Prefs -> Java -> Editor -> Content Assist -> Favourites
And the import itself is
import static org.hamcrest.CoreMatchers.is;
assertEquals(Collections.Empty_List,Collections.emptyList())
Try this.
You can check if your list is not equal an Empty List (Collections.EMPTY_LIST
), try this:
Assertions.assertNotEquals(Collections.EMPTY_LIST, yourList);