【发布时间】:2013-01-22 20:02:58
【问题描述】:
我正在尝试模拟一个枚举:
public enum SomeEnum implements BaseEnum{
SOME_VALUE("Description", SomeClass.class);
private Class<? extends IConsignador> integracao;
private String descricao;
TipoIntegracao(String descricao, Class<? extends IConsignador> integracao){
this.descricao = descricao;
this.integracao = integracao;
}
@Override
public String getDescricao() {
return descricao;
}
public Class<? extends IConsignador> getIntegracao() {
return integracao;
}
}
还有我的模拟:
SomeEnum mock = createMock(SomeEnum.class);
expect(mock.getIntegracao()).andReturn( (Class<? extends IConsignador>) eq(ClassWithOutPublicConstructor.class ) );
replay(mock);
但是日食说:
The method andReturn(Class<capture#1-of ? extends IConsignador>) in the type IExpectationSetters<Class<capture#1-of ? extends IConsignador>> is not applicable for the arguments (Class<capture#2-of ? extends IConsignador>)
他建议了演员表,但仍然不接受这个值。 会是什么?
【问题讨论】:
-
是什么让你认为你可以首先模拟一个枚举?我认为你不应该这样做。除了在编译时提供枚举常量之外,不应以任何方式创建枚举实例。