如何将测试数据加载到GWT Widget中?



我使用eclipse与Google Toolkit,我已经创建了一个小部件与一个列表框,垂直分割面板和几个按钮。我要做的是在列表框中列出的本地目录中的文件列表,我希望能够单击文件并将其显示在分割面板的顶部。我发现了浏览器和文件IO的困难方式,不能使用java.io.File.

我有什么选择?我是否可以将数据文件放入jar或其他东西中并让小部件以这种方式读取它?我需要这样做,作为一个测试运行,实现与数据工作的新功能。它不会是任何类型的最终服务器托管应用程序,我不关心实际文件将如何在未来加载。

如有任何建议,不胜感激。

尊重,DemiSheep

如果您只需要一个硬编码的值列表来直观地测试您的小部件,您可以简单地将这些值放在一个String数组中,并从那里加载它。或者您可以使用RequestBuilder从服务器http GET字符串。你可以在war目录中保存一个简单的文件(CSV, XML, JSON等),并使用Request builder加载该文件。

来自GWT开发人员指南的示例代码:

import com.google.gwt.http.client.*;
...
String url = "http://www.myserver.com/getData?type=3";
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
try {
  Request request = builder.sendRequest(null, new RequestCallback() {
    public void onError(Request request, Throwable exception) {
       // Couldn't connect to server (could be timeout, SOP violation, etc.)
    }
    public void onResponseReceived(Request request, Response response) {
      if (200 == response.getStatusCode()) {
          // Process the response in response.getText()
      } else {
        // Handle the error.  Can get the status text from response.getStatusText()
      }
    }
  });
} catch (RequestException e) {
  // Couldn't connect to server
}

确保你继承了HTTP模块:

<inherits name="com.google.gwt.http.HTTP" />

使用JUnit创建测试用例!

这是描述使用JUnit和各种测试方法进行测试的Google官方网站:Google Web Toolkit: Testing。你肯定能在这里找到答案^^

对于GWT来说,没有像.jar文件那样发送给浏览器的东西。

获取文件最简单的方法是

  1. 把文件放到服务器上
  2. 通过http-call获取它们

记住同源策略适用于GWT,因为它是所有javascript限制的基础

最新更新