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
.
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.
We'll use the isEmpty method from the String class along with the Assert class from JUnit to verify whether a given String isn't empty. Since the isEmpty method returns true if the input String is empty we can use it together with the assertFalse method: assertFalse(text.
ArrayList isEmpty() method returns true if list contains no element. In other words, method returns true if list is empty. Else isEmpty() method returns false. In given example, we have first initialized a blank arraylist and checked if it is empty.
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.
Settings -> Code Style -> Java -> Imports
Prefs -> Java -> Editor -> Content Assist -> Favourites
And the import itself is import static org.hamcrest.CoreMatchers.is;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With