Java gwtmockito与requestbuilder
这是我课程的一部分,我想测试:Java gwtmockito与requestbuilder,java,gwt,gwtmockito,Java,Gwt,Gwtmockito,这是我课程的一部分,我想测试: public class PrefPanel extends Composite { private static PrefPanelUiBinder uiBinder = GWT.create(PrefPanelUiBinder.class); interface PrefPanelUiBinder extends UiBinder<Widget, PrefPanel> {} public PrefPanel(GlobalPara
public class PrefPanel extends Composite {
private static PrefPanelUiBinder uiBinder = GWT.create(PrefPanelUiBinder.class);
interface PrefPanelUiBinder extends UiBinder<Widget, PrefPanel> {}
public PrefPanel(GlobalParams globalParams) {
initWidget(uiBinder.createAndBindUi(this));
String url = URL.encode(globalParams.getBaseUrl() + "book.html");
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
try {
Request response = builder.sendRequest(jsonString, new RequestCallback() {
@Override
public void onError(Request request, Throwable exception) {
displayError("Error");
}
@Override
public void onResponseReceived(Request request, Response response) {
updateBookList(response.getText());
}
});
} catch (RequestException e) {
displayError("Error");
}
当我开始调试时,会收到一条错误消息:
-url不能为空
-java.lang.IllegalArgumentException
-位于com.google.gwt.http.client.StringValidator.throwlfEmptyOrNull(StringValidator.java:52)
-
错误发生在我创建RequestBuilder(新RequestBuilder)的行上。我不知道如何创建RequestBuilder的新实例。你能给我一个线索吗
我听说gwtmockit不能处理构造函数。有没有办法避免使用新的RequestBuilder?我必须使用powermockito吗
@RunWith(GwtMockitoTestRunner.class)
public class PositionServiceTest {
@Mock RequestBuilder builder;
@Mock GlobalParams globalParams;
@Mock URL url;
private PrefPanel prefPanel;
@Before
public void setup() {
GwtMockito.useProviderForType(RequestBuilder.class, new FakeProvider() {
@Override
public Object getFake(Class aclass) {
return builder;
}
});
when(globalParams.getBaseUrl()).thenReturn("http://localhost/");
prefPanel = new PrefPanel(globalParams);
...