Điều này được cố định trong Hamcrest 1.3. Đoạn mã dưới đây biên dịch và không tạo ra bất kỳ cảnh báo nào:
// given
List<String> list = new ArrayList<String>();
// then
assertThat(list, is(not(empty())));
Nhưng nếu bạn phải sử dụng phiên bản cũ hơn - thay vì lỗi, empty()
bạn có thể sử dụng:
hasSize(greaterThan(0))
( import static org.hamcrest.number.OrderingComparison.greaterThan;
hoặc
import static org.hamcrest.Matchers.greaterThan;
)
Thí dụ:
// given
List<String> list = new ArrayList<String>();
// then
assertThat(list, hasSize(greaterThan(0)));
Điều quan trọng nhất về các giải pháp trên là nó không tạo ra bất kỳ cảnh báo nào. Giải pháp thứ hai thậm chí còn hữu ích hơn nếu bạn muốn ước tính kích thước kết quả tối thiểu.