GWTMockito:如何模拟AutoBeanCodex?

时间:2014-01-15 02:14:40

标签: gwt mockito autobean

我正在编写的测试使用AutoBeanCodex来编码和解码 AutoBeans 。 当我尝试测试使用AutoBeanCodex.decode(...)的方法时,会出现如下错误:

java.lang.ClassCastException:     com.google.web.bindery.autobean.shared.AutoBean$$EnhancerByMockitoWithCGLIB$$78caf05b cannot be cast to com.google.web.bindery.autobean.shared.impl.AbstractAutoBean
at com.google.web.bindery.autobean.shared.impl.AutoBeanCodexImpl.doDecode(AutoBeanCodexImpl.java:549)
at com.google.web.bindery.autobean.shared.AutoBeanCodex.decode(AutoBeanCodex.java:39)
at ...

我的gwtmockito测试中第一个问题是如何处理AutoBeanCodex

我是否必须使用这样的虚假提供商GwtMockito.useProviderForType(Class, FakeProvider)

如果有多种方法可以处理AutoBeanCodex,那么最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

先验(我尚未使用GwtMockito),您应该为FakeProvider配置AutoBeanFactory.class以委派给AutoBeanFactorySource.create(),以便真实 AutoBean实例,AutoBeanCodex应该能够序列化和反序列化。

你应该向GwtMockito提出一个问题,以便这种行为是内置的,就像UiBinder等人一样。

答案 1 :(得分:0)

您还可以使用powermock进行静态测试。我在同一个测试中将它与gwtmockito一起使用