Как мне проверить gwtp addToPopupSlot?

У меня есть gwtp докладчик, в некоторых случаях он должен добавить к popupslot другого докладчика.

Как я могу проверить этот факт в тесте?

Я использую Jukito для тестов.

Код докладчика:

...
@Override
public void onAddPersonClick() {
    editPersonPresenter.initForCreating();
    addToPopupSlot(editPersonPresenter);
}
...

Тестовое задание:

@RunWith(JukitoRunner.class)
public class PersonsPagePresenterTest {

    @Inject
    PersonPagePresenter personPagePresenter;

    @Test
    public void testAddPersonClick() {
        personPagePresenter.onAddPersonClick();
        //how to verify addToPopupSlot(editPersonPresenter);?
    }
}

Проблема в том, что все внедренные докладчики в тесте не являются фиктивными (только их взгляды являются фиктивными)

1 ответ

Решение

Вам нужно будет шпионить за экземпляром, используя mockito, так как вы хотите убедиться, что вызывается метод экземпляра. Обратите внимание, что я удалил @Inject в поле PersonPagePresenter, поскольку оно вводится с помощью метода setUp

@RunWith(JukitoRunner.class) 
public class PersonsPagePresenterTest {
    PersonPagePresenter personPagePresenter;

    @Before
    public void setUp(PersonPagePresenter personPagePresenter) {
        this.personPagePresenter = Mockito.spy(personPagePresenter);
    }

    @Test
    public void testAddPersonClick() {
        personPagePresenter.onAddPersonClick();

        Mockito.verify(personPagePresenter).addToPopupSlot(editPersonPresenter);
    } 
}
Другие вопросы по тегам