GWT莫基托柱试验
这是我的Java代码。我想用mockito为update元素创建一个测试。你能帮我吗GWT莫基托柱试验,gwt,Gwt,这是我的Java代码。我想用mockito为update元素创建一个测试。你能帮我吗 public EditURLComposite( CommandFacade commandFacade, String testID, EventBus eventBus) { super(false, true); this.eventBus = eventBus; this.commandFacade = commandFacade; uiBinder.creat
public EditURLComposite(
CommandFacade commandFacade,
String testID,
EventBus eventBus) {
super(false, true);
this.eventBus = eventBus;
this.commandFacade = commandFacade;
uiBinder.createAndBindUi(this);
eventBinder.bindEventHandlers(this, eventBus);
if (getElement() != null) {
getElement().setId(testID);
url.getElement().setId(testID + "_url");
addButton.getElement().setId("resetButton");
}
dataProvider.addDataDisplay(table);
// Description
TextColumn<String> urlColumn = new TextColumn<String>() {
@Override
public String getValue(
String search) {
return search;
}
};
Column<String, String> deleteColumn = new Column<String, String>(new CellButton(messages.delete())) {
@Override
public String getValue(
final String url) {
return "Delete";
}
};
deleteColumn.setFieldUpdater(new FieldUpdater<String, String>() {
@Override
public void update(
final int index,
String url,
String value) {
boolean confirm = Window.confirm("Do you want to delete the URL '" + url + "' ?");
if (confirm == true) {
EditURLComposite.this.commandFacade.performCommand(
new DeleteIntegrationURLServerCommand(user.getUsername(), url),
DeleteIntegrationURLClientCommand.getType(),
deleteURLEventHandler);
}
}
});
ResizableTextHeader.addColumn(table, urlColumn, "URL");
ResizableTextHeader.addColumn(table, deleteColumn, "Delete");
table.setColumnWidth(urlColumn, "150px");
table.setWidth("200px");
}
我找到了解决这个问题的办法。有新的代码
deleteColumn.setFieldUpdater(new FieldUpdater<String, String>() {
@Override
public void update(
final int index,
String url,
String value) {
boolean confirm = Window.confirm("Do you want to delete the URL '" + url + "' ?");
updateDeleteColumn(url, confirm);
}
}
void updateDeleteColumn(
String url,
Boolean confirm) {
if (confirm == true) {
EditURLComposite.this.commandFacade.performCommand(
new DeleteIntegrationURLServerCommand(user.getUsername(), url),
DeleteIntegrationURLClientCommand.getType(),
deleteURLEventHandler);
}
}
@SuppressWarnings({"unchecked", "static-access"})
@Test
public void testUpdateDeleteColumn() {
// Setup`enter code here`
String url = "http://blahblah.com";
UserRPC user = mockupUser();
composite.user = user;
// Test
composite.updateDeleteColumn(url, true);
// Checks
Mockito.verify(commandFacade).performCommand(
Mockito.any(DeleteIntegrationURLServerCommand.class),
Mockito.any(Type.class),
Mockito.any(DeleteIntegrationURLEventHandler.class));
}