Це зафіксовано в Hamcrest 1.3. Наведений нижче код компілює і не генерує жодних попереджень:
// given
List<String> list = new ArrayList<String>();
// then
assertThat(list, is(not(empty())));
Але якщо вам доведеться використовувати старішу версію - замість помилки empty()
ви можете використовувати:
hasSize(greaterThan(0))
( import static org.hamcrest.number.OrderingComparison.greaterThan;
або
import static org.hamcrest.Matchers.greaterThan;
)
Приклад:
// given
List<String> list = new ArrayList<String>();
// then
assertThat(list, hasSize(greaterThan(0)));
Найголовніше, що стосується вищезгаданих рішень, - це те, що вони не створюють жодних попереджень. Друге рішення ще корисніше, якщо ви хочете оцінити мінімальний розмір результату.