2014-02-10 66 views
1

我有我创建了一个客户匹配如下:编译麻烦与Matchers.allOf

private static class FromResidualAllocationMatcher extends BaseMatcher<FromResidualAllocation> {....} 

在我的测试类创建这些匹配的列表:

List<FromResidualAllocationMatcher> matchers = Lists.newArrayList(); 
// create list elements 

我他们尝试如下创建匹配:

Matchers.allOf(matchers) 

我希望能呼吁org.hamcr以下重载方法avalialbe est.Matchers:

public static <T> org.hamcrest.Matcher<T> allOf(org.hamcrest.Matcher<? super T>... param1) { 
return org.hamcrest.core.AllOf.<T>allOf(param1); 
} 

编译器给了我以下错误:

The method allOf(Matcher<? super T>...) in the type Matchers is not applicable for the arguments (List<ResidualAllocationServiceImplTest.FromResidualAllocationMatcher>) 

如何需要定义我BaseMatcher实施,得到这个工作?

回答

4

你的匹配很好。 allOf需要一组匹配器,而您提供一个List。使用List.toArray(T [])将List转换为数组。