现在的位置: 首页 > 综合 > 正文

java.lang.IllegalStateException: M matchers expected, N recorded [easymock]

2013年08月04日 ⁄ 综合 ⁄ 共 383字 ⁄ 字号 评论关闭

当使用easymock时,以下语句会产生错误:
expect(service.findFoos(criteria, maxResults, aryEq(sortCriteria))).andReturn(expectedResult)
错误如下:
java.lang.IllegalStateException: 3 matchers expected, 1 recorded

easymock中的规则是这样的:
如果你为了一个参数使用了一个参数匹配者,那么你必须对其他参数也使用参数匹配者。上述的aryEq使用了ArrayEquals的匹配者,因此其他参数必须使用参数匹配者
修改如下:
expect(service.findFoos(isA(criteria), eq(maxResults), aryEq(sortCriteria))).andReturn(expectedResult)

抱歉!评论已关闭.