我有一个简单的应用程序,想要使其可测试。我在这个领域是新手。 这里有一个简单的Presenter,考虑到这段代码,你能否给我一些建议或示例如何测试它。
public class SomePresenter extends Presenter<MainPanelPresenter.Display>
{
public interface Display extends WidgetDisplay
{
HasClickHandlers getAddButton();
HasClickHandlers getDeleteButton();
void setData(ArrayList<Person> data);
ArrayList<String> getSelectedRows();
Widget asWidget();
}
private final DispatchAsync dispatcher;
public static final Place PLACE = new Place("main");
@Inject
public SomePresenter(DispatchAsync dispatcher, EventBus eventBus, Display display)
{
super(display, eventBus);
this.dispatcher = dispatcher;
bind();
}
protected void onBind()
{
display.getAddButton().addClickHandler(new ClickHandler()
{
public void onClick(ClickEvent event)
{
eventBus.fireEvent(new AddButtonEvent());
}
});
display.getDeleteButton().addClickHandler(new ClickHandler()
{
public void onClick(ClickEvent event)
{
ArrayList<String> list = display.getSelectedRows();
deletePerson(list);
}
});
}
....
private void loadDbData()
{
..........
}
private void deletePerson(ArrayList<String> ids)
{
..........
}
}
编辑:
Presenter是什么,它从数据库中加载初始数据,并有两个按钮添加和删除。 当按下添加按钮时,会加载一个新的表单,用户可以输入数据并保存到数据库中, 删除按钮只是从数据库中删除人员。
谢谢
ClickEvent
有受保护的构造函数,那么实例化它对你有什么影响? - dzieciouClickEvent
是GWT库的一个类,按照你所建议的方式构造它将导致编译时失败。这个答案采用了另一种方法来验证Presenter是否可以正确地从View中分派事件。 - dzieciou