我如何测试gwtp addToPopupSlot?

时间:2015-01-14 05:32:33

标签: java testing junit gwtp jukito

我有一个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 个答案:

答案 0 :(得分:1)

您需要使用mockito监视实例,因为您要验证是否已调用实例方法。请注意,我删除了PersonPagePresenter字段上的@Inject,因为它是通过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);
    } 
}