【发布时间】:2016-06-22 16:03:21
【问题描述】:
我正在尝试在 SubscriptionInterceptor 的单元测试中模拟 ValidatorService。
validator = Mockito.mock(ValidatorService.class);
Mockito.when(validator.validateSubscription(any(), any(), any())).thenReturn("");
interceptor = new SubscriptionInterceptor(validator);
稍后,当拦截器调用模拟验证器的validateSubscription 方法时,会调用实际类的实例,而不是模拟。为什么?如何让方法调用返回一个空字符串?
【问题讨论】:
-
您不需要为要返回的空字符串执行任何特殊操作;只要 Mockito 可以存根该方法,它就是默认返回值,这在这里似乎无法做到。您能否确认 ValidatorService 和 validateSubscription 都是公开的且非
final? -
方法被宣布为最终方法。现在可以了,谢谢!
标签: spring unit-testing testing junit mockito