类转换异常传递接口到构造函数mockito junit

时间:2017-07-15 23:30:04

标签: java junit interface mockito

如何通过以下示例避免类强制转换异常:

buffersize := 1024*1024;
SetLength(myBuffer, buffersize);

InstanceMapper实现AbstractMapper。

所以abstractMapper.mapTo(abstractMapper)将interface作为参数。 mockito返回的错误是泛型类强制转换异常。

一个选项是使被测试的Class的构造函数采用AbstractMapper而不是InstanceMapper,但这似乎不是很好的java实践,因为它应该只接受InstanceMapper。什么是最好的方法。

1 个答案:

答案 0 :(得分:0)

你不能将instanceMapperClass转换为InstanceMapper作为instanceMapperClass它是模拟代理,因此你得到classCastException。如果您需要instanceMapperClass,请执行以下操作:

instanceMapperClass = mock(InstanceMapper.class)

在这种情况下,instanceMapperClass创建为具有代理的InstanceMapper。