您可以创建自己的特定匹配器,例如:
class ListMatcher {
public static Matcher> hasAtLeastItemsGreaterThan(final int targetCount, final int lowerLimit) {
return new TypeSafeMatcher>() {
@Override
public void describeTo(final Description description) {
description.appendText("should have at least " + targetCount + " items greater than " + lowerLimit);
}
@Override
public void describeMismatchSafely(final List arg0, final Description mismatchDescription) {
mismatchDescription.appendText("was ").appendValue(arg0.toString());
}
@Override
protected boolean matchesSafely(List values) {
int actualCount = 0;
for (int value : values) {
if (value > lowerLimit) {
actualCount++;
}