我使用GWT RequestBuilder,出于测试目的,我想在服务器中加载一个json文件。 它与DevMode完美配合,但在GWTTestCase中抛出404错误。
使用RPC,有一个修补程序添加<servlet path=".." class="..."/>
,但我可以对静态内容做些什么?
我可以轻松使用@TextResource
,但这不是我的UnitTest的目标(实际上是一个功能测试)
答案 0 :(得分:4)
静态资源可以与模块捆绑,方法是将它们放在the module's public path中。
答案 1 :(得分:1)
我再次使用托马斯的答案来解决问题。我的模块是io.robusta.fora.comments.Comment.gwt.xml
,我将我的user.json文件放在io.robsuta.fora.comments.resources
包中。
我已经在Comment.gwt.xml文件中添加了<public path="resources"/>
然后GWTTestCase很简单:
public class GwtRestClientTest extends GWTTestCase{
@Override
public String getModuleName() {
return "io.robusta.fora.comments.Comments";
}
public void testGET(){
String base = GWT.getModuleBaseURL();
System.out.println(base); //-> http://192.168.0.10:53551/io.robusta.fora.comments.Comments.JUnit/
GwtRestClient client = new GwtRestClient(base); //base url
AsyncCallback<String> cb = new AsyncCallback<String>() {
@Override
public void onSuccess(String result) {
System.out.println(result);//->{id:1,email:"jo@robusta.io"}
finishTest();
}
@Override
public void onFailure(Throwable caught) {
caught.printStackTrace();
}
};
client.GET("user.json", null, cb);//fetch my json file with no params
delayTestFinish(3000);
}
}