GWTMockito:如何模拟AutoBeanCodex



我正在编写使用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,最好的方法是什么?

先验的(我还没有使用过 GwtMockito),你应该为AutoBeanFactory.class配置一个FakeProvider委托给AutoBeanFactorySource.create(),以便你得到真正的 AutoBean 实例,AutoBeanCodex应该能够序列化和反序列化。

您可能应该向 GwtMockito 提出一个问题,以便内置此行为,就像 UiBinder 等人一样。

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

相关内容

  • 没有找到相关文章

最新更新