Mockito / GWT: виджеты смоделированного представления являются нулевыми - PullRequest
1 голос
/ 23 февраля 2012

Я получил представление (шаблон GWT MVP), которое содержит список. Я создал тестовый набор, используя @Mock MyView view Затем в одном тесте я хочу иметь возможность иметь руку с объектом списка, используя:

ListBox listBox = GwtReflectionUtils.getPrivateFieldValue(view, "tableListBox");

Возвращает ноль.

Я следовал этому уроку: http://code.google.com/p/gwt-test-utils/wiki/SimpleUnitTest, используя тот же путь.

Единственное отличие, которое я вижу, это то, что я использую UIBinder, однако он должен поддерживаться из того, что я прочитал.

Спасибо!

1 Ответ

1 голос
/ 23 февраля 2012

Вы используете макет, конечно поля не установлены. При работе с имитаторами вы должны думать о взаимодействиях , а не о состоянии. (На самом деле это утверждение верно для сгенерированных макетов, таких как mockito, powermock, easymock и т. Д.)

Примеры вики-ссылок не используют насмешки, они показывают реальные объекты!

Думаю, вас больше заинтересует шпион . Вы можете использовать @Spy. В mockito 1.9.0 вы можете написать:

@Spy MyView view = new MyView(paramA, paramB);

или если MyView имеет конструктор по умолчанию

@Spy MyView view = new MyView();
@Spy MyView view; // equivalent, mockito will call the default constructor

Для получения дополнительной информации взгляните на javadoc .

Надеюсь, это поможет.

...