2014-01-15 10 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 ... 

Первый вопрос как мне делать с AutoBeanCodex в моих gwtmockito тестов?

Должен ли я использовать поддельный провайдер, например, GwtMockito.useProviderForType(Class, FakeProvider)?

Если существует несколько способов борьбы с AutoBeanCodex, какой лучший подход?

+0

Оформил проблему с командой gwtmockito, https://github.com/google/gwtmockito/issues/22. – Jonathan

+0

Проблема была устранена – Jonathan

ответ

0

Априори (я не использовал GwtMockito, пока), вы должны настроить FakeProvider для AutoBeanFactory.class делегировать AutoBeanFactorySource.create() так, что вы получите реальные AutoBean экземпляры, которые AutoBeanCodex должны иметь возможность сериализации и десериализации.

Возможно, вам стоит поднять вопрос на GwtMockito, чтобы это поведение было встроено, как и для UiBinder et al.

+0

Я попробую. И я обязательно подниму этот вопрос на GwtMockito. Благодаря!! – Jonathan

0

Вы также можете использовать powermock для тестирования со статикой. Я использовал его с gwtmockito как в одном тесте

+0

Я посмотрю :) – Jonathan

Смежные вопросы