gpt4 book ai didi

使用 mockito 进行 GWT 测试

转载 作者:行者123 更新时间:2023-11-28 21:03:06 24 4
gpt4 key购买 nike

简单问题:

验证(1)通过。验证(2)没有。为什么?如何解决?

测试

  @Test
public void test() {
System.out.println("test");
EventBus eb = mock(EventBus.class);
MyWidget.View v = mock(MyWidget.View.class);
GreetingServiceAsync s = mock(GreetingServiceAsync.class);

HasClickHandlers button = mock(HasClickHandlers.class);

when(v.getButton()).thenReturn(button);

new MyWidget(eb, v, s);

button.fireEvent(mock(ClickEvent.class));

verify(button).addClickHandler(any(ClickHandler.class)); (1)
verify(v).alert(anyString()); (2)


}

小工具

@Inject
public MyWidget(EventBus eventBus, View view, GreetingServiceAsync service){
this.view = view;
this.service = service;

bindView();
bindEventBus();

}

private void bindView(){

view.getButton().addClickHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) {
view.alert("test");
}
});

}

最佳答案

因为 button 是一个 mock,所以调用 fireEvent 并不会真正触发事件;并且永远不会在 View 上调用 onClick

关于使用 mockito 进行 GWT 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com