【发布时间】:2011-03-28 16:29:20
【问题描述】:
有一个将类作为参数的通用方法,我在使用 Mockito 存根时遇到问题。该方法如下所示:
public <U extends Enum<U> & Error, T extends ServiceResponse<U>> T validate(
Object target, Validator validator, Class<T> responseClass,
Class<U> errorEnum);
这太糟糕了,至少对我来说......我可以想象没有它,但代码库的其余部分很乐意使用它......
我打算在我的单元测试中存根这个方法以返回一个新的空对象。但是我如何用 mockito 做到这一点?我试过了:
when(serviceValidatorStub.validate(
any(),
isA(UserCommentRequestValidator.class),
UserCommentResponse.class,
UserCommentError.class)
).thenReturn(new UserCommentResponse());
但由于我混合和匹配匹配器和原始值,我得到“org.mockito.exceptions.misusing.InvalidUseOfMatchersException:参数匹配器的无效使用!”
【问题讨论】:
-
我也面临同样的问题,但 eq() 或 same() 对我不起作用。代码是用 Kotlin 编写的。
标签: java class generics mocking mockito