2014-01-15 21 views
0

我有我使用AutoBeanCodex編碼和解碼AutoBeans的測試。 當我嘗試測試其使用AutoBeanCodex.decode(...)方法,我得到像下面的錯誤:GWTMockito:如何模擬AutoBeanCodex?

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

提交gwtmockito團隊的問題,https://github.com/google/gwtmockito/issues/22。 – Jonathan

+0

問題已解決 – Jonathan

回答

0

先驗(我沒有使用過GwtMockito,還),你應該AutoBeanFactory.class配置FakeProvider委託給AutoBeanFactorySource.create(),讓你得到真正的 AutoBean情況下,該AutoBeanCodex應該能夠序列化和反序列化。

您應該向GwtMockito提出問題,以便這種行爲是內置的,就像UiBinder等人一樣。

+0

我會試一試。我肯定會把問題提交給GwtMockito。謝謝!! – Jonathan

0

您也可以使用powermock進行靜態測試。我用gwtmockito在同一測試中使用它

+0

我會看看:) – Jonathan