注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 编程开发AJAX → 文章内容

对Ajax应用程序进行单元测试

作者:佚名 来源:不详 发布时间:2007-12-10 22:48:41

  图 1. 一个支持 Ajax 的简单 Web 表单

  对Ajax应用程序进行单元测试(图一)

  输入一个有效单词,单击组件的 Submit 按钮,将向服务器发送消息请求该单词的定义。该定义通过回调异步返回,相应地插入到 Web 页面,如图 2 所示:

  图 2. 单击 Submit 按钮后显示响应

  对Ajax应用程序进行单元测试(图二)

  功能性和集成测试

  图 2 所示的交互测试可用于多个不同场景,但是其中两种场景最为常见。从功能性观点考虑,您或许希望编写一个测试:填入表单值,单击 Submit 按钮,然后验证表单是否显示定义。另外一个选择是集成测试,使您能够验证客户端代码的异步功能。GWT 的 GWTTestCase 正是被设计用来执行此类测试。

  需要牢记的是:在 GWTTestCase 测试用例环境下不可以进行用户界面测试。在设计和构建 GWT 应用程序时,您必须清楚不要依赖用户界面 测试代码。这种思路需要把交互代码从业务逻辑中分离出来,正如您已经了解的,这是最佳的入门实践!

  举例而言,重新查看图 1 和图 2 所示的 Ajax 应用程序。该应用程序由四个逻辑部分构成:TextBox 用于输入目标单词,Button 用于执行单击,还有两个 Label(一个用于 TextBox,另一个显示定义)。实际 GWT 模块的初始方法如清单 1 所示,但是您该如何测试这段代码呢?

  清单 1. 一个有效的 GWT 应用程序,但是如何测试它?public class DefaultModule implements EntryPoint {
public void onModuleLoad() {
  Button button = new Button("Submit");
  TextBox box = new TextBox();
  Label output = new Label();
  Label label = new Label("Word: ");
  HorizontalPanel inputPanel = new HorizontalPanel();
  inputPanel.setStyleName("input-panel");
  inputPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
  inputPanel.add(label);
  inputPanel.add(box);
  button.addClickListener(new ClickListener() {
  public void onclick(Widget sender) {
   String word = box.getText();
   WordServiceAsync instance = WordService.Util.getInstance();
    try {
     instance.getDefinition(word, new AsyncCallback() {
     
      public void onFailure(Throwable error) {
       Window.alert("Error occurred:" + error.toString());
      }
      public void onSuccess(Object retValue) {
       output.setText(retValue.toString());
      }
     });
    }catch(Exception e) {
     e.printStackTrace();
    }
  }
  });
  inputPanel.add(button);
  inputPanel.setCellVerticalAlignment(button,
   HasVerticalAlignment.ALIGN_BOTTOM);
  RootPanel.get("slot1").add(inputPanel);
  RootPanel.get("slot2").add(output);
  }
}


更多内容请看PCdog.com--Ajax技术专题
上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页


  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved