`
温柔一刀
  • 浏览: 863186 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

这个action怎么测试?

阅读更多

action类大概样子如下:

java 代码
  1. public class GuideLinkGropAction extends BaseAction {   
  2.   
  3.     private GuideLinkGroup guideLinkGroup;   
  4.   
  5.     private TravelBureauService travelBureauService;   
  6.        
  7.     public String getTravelBureauNames() throws Exception {   
  8.         List travelBureaulList = travelBureauService   
  9.                 .findTravelBureaulList(new TravelBureau());   
  10.         List travelBureauNamesList = getTravelBureauNameList(travelBureaulList);   
  11.         String travelBureauName = guideLinkGroup.getTravelBureau().getUserName();   
  12.         responseOut(travelBureauNamesList, travelBureauName);   
  13.         return SUCCESS;   
  14.     }   
  15.   
  16.     private List getTravelBureauNameList(List travelBureaulList) {   
  17.         List list = new ArrayList();   
  18.         Iterator iter = travelBureaulList.iterator();   
  19.         while (iter.hasNext()) {   
  20.             TravelBureau travelBureau = (TravelBureau) iter.next();   
  21.             CommonInfo info = new CommonInfo();   
  22.             info.setId(travelBureau.getId());   
  23.             info.setValue(travelBureau.getUserName());   
  24.             list.add(info);   
  25.         }   
  26.         return list;   
  27.     }   
  28.   
  29.     private void responseOut(List travelBureauNamesList, String travelBureauName)   
  30.             throws Exception {   
  31.         HttpServletResponse response = ServletActionContext.getResponse();   
  32.         List matching = CommonUtil.prefixMatch(travelBureauNamesList,   
  33.                 travelBureauName);   
  34.         PrintWriter out = response.getWriter();   
  35.         response.setContentType("text/xml");   
  36.         response.setHeader("Cache-Control""no-cache");           
  37.         Iterator iter = matching.iterator();   
  38.         while (iter.hasNext()) {   
  39.             CommonInfo info = (CommonInfo) iter.next();   
  40.             String name = new String(info.getValue().getBytes("UTF-8"),   
  41.                     "ISO8859-1");   
  42.             out.print("<name></name>" + name + "");   
  43.             out.println("<id></id>" + info.getId() + "");   
  44.         }   
  45.         out.println("");   
  46.         out.close();   
  47.     }      
  48. }  

上面的getTravelBureauNames方法是为了一个ajax的功能异步获取数据用的,responseOut方法是把数据用xml格式输出,现在要测试getTravelBureauNames方法,怎么测都没有成功,我想的大概测试代码如下:

java 代码 
  1. public class GuideLinkGropActionTest extends TestCase {   
  2.        
  3.     private MockControl control2;   
  4.        
  5.     private TravelBureauService travelBureauService;   
  6.        
  7.     Map session  = new HashMap();   
  8.        
  9.     GuideLinkGropAction action = new GuideLinkGropAction();   
  10.        
  11.     protected void setUp() throws Exception {          
  12.         control2 = MockControl.createControl(TravelBureauService.class);       
  13.         travelBureauService= (TravelBureauService) control2.getMock();   
  14.     }          
  15.        
  16.     public void testGetTravelBureauNames()throws Exception {           
  17.         travelBureauService.findTravelBureaulList(new TravelBureau());         
  18.         control2.setReturnValue(new ArrayList());              
  19.         control2.replay();   
  20.        
  21.         action.setTravelBureauService(travelBureauService);   
  22.         assertEquals(Action.SUCCESS, action.getTravelBureauNames());   
  23.         control2.verify();     
  24.     }   
  25. }  

这个测试代码肯定是通不过的

分享到:
评论

相关推荐

    action的三种类型

    在自动化测试工具QTP(Quick Test Professional)中,Action是一种重要的概念,它代表了脚本中的一个独立执行单元。通过合理地组织和利用Action,可以帮助测试人员更高效、灵活地进行自动化测试工作。本文将详细介绍...

    软件测试QTP中action之间的参数传递应用实例详解

    本实例详细讲解了如何在QTP中进行Action之间的参数传递,这对于构建可维护、可复用的测试脚本至关重要。 首先,业务流程涉及以下几个步骤: 1. 用户登录系统。 2. 创建新订单并生成订单编号。 3. 使用订单编号查询...

    ThinkPHP环境下调用Action的测试工具

    总的来说,这个ThinkPHP Action测试工具是一个高效且实用的开发辅助手段,它简化了后端测试流程,让开发者可以专注于编写和优化Action本身,而不必过多关注测试环境的搭建和维护。对于ThinkPHP开发者来说,这是一个...

    测试struts2中action

    这是一个继承自`MockStrutsTestCase`的测试类,用于对登录Action进行单元测试。 #### 3. 初始化测试环境 ```java public void setUp() throws Exception { super.setUp(); File contextFile = new File("E://...

    moke测试struts的action

    如果这是测试代码,那么可能包含了一个模拟用户行为的测试类,用于测试Struts Action的功能。如果是配置文件,可能是Struts的配置文件(struts-config.xml或struts2的struts.xml),包含了Action的定义及其与视图和...

    用MockStrutsTestCase测试action测试类

    以下是使用MockStrutsTestCase进行Action测试的关键知识点: 1. **MockStrutsTestCase的引入**:首先,在项目中添加MockStrutsTestCase的依赖。这通常通过Maven或Gradle等构建工具完成。之后,你可以继承...

    Junit测试Action

    在描述中提到的"源码"指的是在进行测试时会涉及到的被测代码,可能是一个Action类,这是在Web应用程序中处理用户请求的业务逻辑组件。Action类通常在Struts或类似的MVC(模型-视图-控制器)框架中使用,负责接收用户...

    ssh2单元测试action的例子

    这份文档将涵盖以下几个关键知识点:Maven依赖配置、Struts2配置、Spring集成以及具体的Action类实现和测试方法。 ### Maven依赖配置 为了进行SSH2框架内的单元测试,我们需要在项目的`pom.xml`文件中添加必要的...

    Struts2+Spring+hibernate中对action的单元测试环境搭建[总结].pdf

    在这个代码中,我们使用 StrutsSpringTestCase 来测试 Action。在 setUp() 函数中,我们可以做一些必要的准备工作。在 testGetReceiveMessage() 函数中,我们可以模拟用户的请求,测试 Action 的正确性。 解决 JPA ...

    Oozie之JavaAction测试实例

    ### Oozie之JavaAction测试实例详解 #### 一、Oozie JavaAction概述 Oozie是一款开源的工作流调度系统,它允许用户定义复杂的Hadoop工作流,并以图形化的方式进行管理和监控。Oozie支持多种类型的Hadoop任务,包括...

    struts中测试action

    在这个“struts中测试action”的主题中,我们将深入探讨Struts Action的原理、配置以及如何进行测试。 首先,理解Action类的结构是至关重要的。一个Action类通常继承自Struts提供的`org.apache.struts2.dispatcher....

    Action传递参数的三个方法

    在运行测试时,可以在“Run”对话框中为每个Action指定参数的具体值。 #### 二、把变量放入DataTable **2.1 DataTable的概念** DataTable是QTP提供的一种用于存储测试数据的数据表。通过将数据存储在DataTable中...

    软件测试基础(经典测试面试题答案)WORD版.rar

    1、什么是兼容性测试?兼容性测试侧重哪些方面? 5 2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? 5 3、测试的策略有哪些? 5 4、正交表测试用例设计方法的特点是...

    Struts2SpringUnitDemo单元测试

    6. **测试驱动开发(TDD)**:通过这个示例,我们可以理解开发者可能采用了TDD(Test-Driven Development)方法,即先编写测试,然后编写满足测试的代码。这样可以确保代码质量,减少bug,并有助于设计出更清晰的...

    Struts的小列子三个Action

    在这个"Struts的小列子三个Action"中,我们将深入探讨Struts框架的核心概念,特别是Action组件在其中的作用。 首先,Action是Struts框架中的关键组成部分,它是业务逻辑与请求处理的桥梁。在描述中提到的"三个...

    spring in action的jar包

    这个"spring in action的jar包"很可能是书中提到的一些必要的库文件,用于配合书中的实例代码运行。这些jar包是Spring框架的组成部分,包括了Spring的核心模块和其他可能依赖的第三方库。 在Spring框架中,主要包含...

    一个Action对应多个类实例。

    在这个框架中,Action类扮演着控制器的角色,负责接收用户请求,处理业务逻辑,并将结果传递给视图进行展示。 **1. Action类的角色** Action类是Struts框架的核心组件,它处理用户的请求并控制应用的行为。一个...

    怎样编写Action测试用例

    怎样编写Action测试用例软件测试我们通常在开发web应用过程中,展现层Action的单元测试经常被我们忽视了,主要原因是:1、Action层的业务逻辑比较简单。大家潜意识认为这一部分的代码不重要。2、Action层难以模拟...

Global site tag (gtag.js) - Google Analytics