`
dky_rl
  • 浏览: 67796 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类
最新评论

Struts2 Action Junit 测试

阅读更多

 

记得刚学struts2时就了解了点struts2 的 action的测试方法,但是一直都没针对Action写过测试,最近稍微研究了下struts2 的 action测试,遇到了很多问题:

 

struts 2.0 之前

 

import static org.junit.Assert.*;

import java.util.HashMap;
import java.util.Map;

import org.apache.struts2.StrutsTestCase;
import org.junit.Test;

import com.jack.lucene.service.LuceneSearchService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.DefaultActionProxyFactory;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationManager;
import com.opensymphony.xwork2.inject.Container;

/**
 * @author jack
 * 
 */
public class LuceneSearchHandlerTest extends StrutsTestCase {

	/**
	 * Test method for {@link com.jack.lucene.handler.LuceneSearch#execute()}.
	 * @throws Exception 
	 */
	@Test
	public void testExecute() throws Exception {
		Map paramMap = new HashMap();
		paramMap.put("keyWord", "grails 参考");
		Map context = new HashMap();
		context.put(ActionContext.PARAMETERS, paramMap);
		ConfigurationManager cm = new ConfigurationManager();
		Configuration conf = cm.getConfiguration();
		Container containter = conf.getContainer();
		DefaultActionProxyFactory actionProxyFactory = new DefaultActionProxyFactory();
		actionProxyFactory.setContainer(containter);
		ActionProxy proxy = actionProxyFactory.createActionProxy("/lucene","luceneSearch", context);
		LuceneSearch lsh = (LuceneSearch) proxy.getAction();
		lsh.setLuceneSearchService(new LuceneSearchService());
		String result = lsh.execute();
		
		assertEquals("success", result);
		

	}

}

 

 但是如果你的项目是Spring管理的那么执行测试会报错:

 要想测试只能暂时不用Spring去管理。或者用其他方法

 

SEVERE:   [26:24.218] ********** FATAL ERROR STARTING UP STRUTS-SPRING INTEGRATION **********
Looks like the Spring listener was not configured for your web app! 
Nothing will work until WebApplicationContextUtils returns a valid ApplicationContext.
You might need to add the following to web.xml: 
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

 

struts2.1 之后 请看这几篇文章

 

http://kang36897.blog.163.com/blog/static/170473732010710101238126/

 

http://jzbgjsy.iteye.com/blog/736162

 

http://www.iteye.com/topic/572614

 

http://friping.iteye.com/blog/487673

 

 

分享到:
评论
1 楼 xianqi_h 2012-08-20  
请问用什么办法呢, 请指教呀

相关推荐

    struts2-junit-plugin-2.1.8.1.jar

    然后,你可以创建JUnit测试类,使用`@StrutsTest`注解标记测试类,以指示该类属于Struts2测试。在测试方法上使用`@Test`注解,并可以使用`@Action(value = "your-action-name")`来指定要测试的Struts2 Action。 ...

    Struts2SpringUnitDemo单元测试

    在Struts2SpringUnitDemo中,可能使用了JUnit来测试Action和Service类,确保它们的功能正确无误。 4. **Action和Service的测试**:在Struts2中,Action类是处理用户请求的实体,它通常调用Service层来执行业务逻辑...

    struts-json-plugin-2.1.8.jar struts2-junit-plugin-2.1.8.jar json-lib-2.1.jar

    它扩展了JUnit,使得Struts2的控制器可以在单元测试环境中运行,从而能够更好地测试Action和整个MVC流程。这个插件在2.1.8版本中也包含了对Struts2核心库的依赖,确保了测试的兼容性。 最后,`json-lib-2.1.jar`是...

    struts2-junit-plugin-2.1.6.jar

    `struts2-junit-plugin-2.1.6.jar`这个插件使得我们能够在JUnit环境中对Struts2的应用进行测试,包括Action类的测试。 Action类是Struts2的核心组件,它处理用户的请求并负责业务逻辑的执行。测试Action类对于验证...

    struts2-junit-plugin-2.2.1.1.jar

    struts2-junit-plugin-2.2.1.1.jar

    Junit 单元测试完整案例

    3. `struts2-junit-plugin`:Struts2提供了JUnit插件,可以简化Struts2应用的测试,允许直接调用Action方法进行测试。 4. 测试Action类:通过模拟Service层的依赖,直接测试Action类的execute()方法,确保业务逻辑...

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

    struts2-junit-plugin-2.1.8.jar 是 Struts2 提供的测试插件,可以用来测试 Struts2.x 中的 Action。 下面是一个基本的测试代码: ```java public class MessageActionTest extends StrutsSpringTestCase { @...

    Struts2框架单元测试代码

    导入必要的测试库,如JUnit、Struts2测试相关的类。 2. **注解测试类**:使用`@Before`和`@After`注解定义测试前后的准备和清理工作,如初始化Struts2上下文,配置Action和ActionMapping。 3. **定义测试方法**:...

    Junit测试Action

    【标题】"Junit测试Action"涉及的是在Java开发中使用JUnit进行Action类的单元测试。JUnit是一款广泛使用的Java编程语言的单元测试框架,它使得开发者能够方便地编写和执行测试用例,确保代码的质量和功能的正确性。 ...

    Struts2单元测试

    在使用Struts2单元测试jar包时,开发者可以利用JUnit等测试框架,结合Mockito、PowerMock等工具来编写测试用例。测试用例应覆盖所有可能的输入和异常情况,以确保代码的健壮性。此外,使用持续集成工具(如Jenkins或...

    struts2测试工具

    标题提到的“struts2测试工具”可能是指用于测试Struts2应用程序的工具或框架。在Java Web开发中,测试是确保代码质量、性能和安全性的关键步骤。Struts2的应用通常需要进行单元测试、集成测试和功能测试。以下是...

    struts2.3.7 - 集成测试案例

    2. **Interceptor测试**:Interceptor是Struts2的核心特性,它们在Action调用前后执行,提供如登录验证、日志记录等功能。测试Interceptor需要确保它们在正确的时间点介入,并按照预期处理请求。 3. **Result类型...

    moke测试struts的action

    通过上述分析,我们可以看出,"moke测试struts的action"涉及的是使用Struts框架构建Web应用时,对Action组件的测试和验证,包括了Action的配置、实现、结果处理以及可能的测试用例设计和执行。在实际项目中,这样的...

    Struts2之Servlet API及单元测试初识案例struts005

    在Struts2中,可以使用JUnit进行Action的单元测试。测试主要关注以下几个方面: 1. **Action的执行逻辑**:测试Action的`execute`方法是否能正确地返回期望的结果代码(如SUCCESS或ERROR)。 2. **模型验证**:如果...

    hibernate、struts、mysql、junit等jar包

    在Struts框架中,ActionForm负责处理用户请求,Action类执行业务逻辑,而JSP作为视图展示结果。使用struts2-core、struts2-convention等jar包,可以构建结构良好的Web应用,提高代码复用性。 3. MySQL:MySQL是一个...

    与struts2配套的JSON架包

    在前端,可以通过JavaScript或者jQuery等库,使用AJAX请求Struts2的JSON Action,并处理返回的JSON数据。例如,使用jQuery的`$.ajax()`方法: ```javascript $.ajax({ url: 'myAction.json', type: 'POST', ...

    struts2jar包

    struts2-junit-plugin.jar则帮助进行单元测试。这些插件根据实际需求选择引入。 6. **其他依赖的jar包**:Struts2运行还需要一些其他的库,如freemarker或velocity用于模板引擎,javassist用于动态类生成,log4j或...

    SSH(struts2,Hibernate,Spring)整合及测试亲测可用

    Struts2的核心是Action类,它是业务逻辑的载体,通过配置文件或注解来指定Action与URL的映射关系。 **Hibernate** 是一款优秀的对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。Hibernate通过XML...

    struts2_spring3.0_Junit4.7_Maven2.2.1_整合运行说明_培训.pdf )

    通过JUnit,开发者可以方便地编写针对Struts2 Action和Spring Service层的单元测试,从而确保代码的质量。 #### Maven2.2.1 Maven是一个项目管理和理解工具,它提供了一套标准的构建生命周期,能够自动化构建过程中...

    junit struts2.0和资源见解,和项目

    在IT行业中,JUnit和Struts2.0是两个非常重要的框架,它们分别专注于单元测试和Web应用程序开发。这里,我们将深入探讨这两个技术以及如何在实际项目中应用它们,并结合资源见解来提升开发效率。 首先,JUnit是Java...

Global site tag (gtag.js) - Google Analytics