0

AutoBeansAutoBeanCodexのエンコードとデコードに使用するテストを書いています。を使用するメソッドをテストしようとすると、次のようなエラーが発生します。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、最善の方法は何ですか?

4

2 に答える 2

0

powermock を使用して静的なテストを行うこともできます。同じテストで gwtmockito と一緒に使用しました

于 2015-01-20T11:10:37.820 に答える
0

アプリオリに (GwtMockito はまだ使用していません)、シリアライズおよびデシリアライズできる実際のAutoBean インスタンスを取得できるように、 FakeProviderforAutoBeanFactory.classをデリゲートするように構成する必要があります。AutoBeanFactorySource.create()AutoBeanCodex

UiBinder などのように、この動作が組み込まれるように、おそらく GwtMockito に問題を提起する必要があります。

于 2014-01-15T09:42:06.170 に答える