我正在编写的测试使用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
,那么最佳方法是什么?
答案 0 :(得分:0)
先验(我尚未使用GwtMockito),您应该为FakeProvider
配置AutoBeanFactory.class
以委派给AutoBeanFactorySource.create()
,以便真实 AutoBean实例,AutoBeanCodex
应该能够序列化和反序列化。
你应该向GwtMockito提出一个问题,以便这种行为是内置的,就像UiBinder等人一样。
答案 1 :(得分:0)
您还可以使用powermock进行静态测试。我在同一个测试中将它与gwtmockito一起使用