`

使用StrutsSpringTestCase测试框架报错

阅读更多

使用StrutsSpringTestCase 测试框架报错:

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [struts.xml]; nested exception is java.net.ConnectException: Connection timed out: connect
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:408)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
	at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:81)
	at org.apache.struts2.StrutsSpringTestCase.setupBeforeInitDispatcher(StrutsSpringTestCase.java:39)
	at org.apache.struts2.StrutsTestCase.setUp(StrutsTestCase.java:208)
	at junit.framework.TestCase.runBare(TestCase.java:139)
	at junit.framework.TestResult$1.protect(TestResult.java:122)
	at junit.framework.TestResult.runProtected(TestResult.java:142)
	at junit.framework.TestResult.run(TestResult.java:125)
	at junit.framework.TestCase.run(TestCase.java:129)
	at junit.framework.TestSuite.runTest(TestSuite.java:255)
	at junit.framework.TestSuite.run(TestSuite.java:250)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.net.ConnectException: Connection timed out: connect

 依赖:

<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-spring-plugin</artifactId>
			<version>2.3.1</version>
		</dependency>

<!-- Struts JUnit Plugin -->
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-junit-plugin</artifactId>
			<version>2.3.15.3</version>
		</dependency>

 测试类:

package com.jn.test;
import org.apache.struts2.StrutsSpringTestCase;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpSession;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import com.opensymphony.xwork2.ActionProxy;
import com.shop.jn.action.user.UserLoginAction;
public class StrutsTest  extends StrutsSpringTestCase{
	

	private ActionProxy proxy = null;
	private UserLoginAction loginAction = null;

	@Override
	protected String[] getContextLocations() {
		return new String[] {"struts.xml", "aop.xml","beans.xml","goods_beans.xml","supermarket_beans.xml","upload_beans.xml","user_beans.xml"};
	}

	/**
	 * Spring与Struts集成的情况 Test method for
	 * {@link com.springstrutsdemo.action.LoginAction#execute()}.
	 * 
	 * @throws Exception
	 */
	@Test
	public void testExecute() throws Exception {
//		request.setParameter("user.name", "age");
//		request.setParameter("user.age", "12");
//		request.setParameter("user.address", "北京市海淀区首钢国际大厦");
//		request.setParameter("user.telephone", "10010");
		MockHttpServletRequest request = new MockHttpServletRequest();
		MockHttpSession session = new MockHttpSession();
		request.setSession(session);
		RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
		
		
		request.setParameter("user.username", "aa");
		proxy = getActionProxy("/user/login");
		loginAction = (UserLoginAction) proxy.getAction();

		String result = proxy.execute();
//		String result=executeAction("/user/login")
		assertEquals("success", result);
		System.out.println("in test:user=" + loginAction.getUser());
	}

}

根据错误信息,是在读取struts.xml时报错.

解决方法:修改struts.xml为:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "./com/struts-2.3.dtd">

 注意:我修改了dtd的路径,改为了本地路径 

web项目见附件

依赖的jar包见附件

 

1
1
分享到:
评论
2 楼 hw1287789687 2014-09-30  
io0007-find_progess-0.0.83-SNAPSHOT.jar 下载地址:
http://pan.baidu.com/s/1eQAGCD0
http://pan.baidu.com/s/1qWHNPbY
1 楼 jackyx 2014-09-28  
求io0007-find_progess-0.0.83-SNAPSHOT.jar这个包

相关推荐

    ssh2单元测试action的例子

    花了好多时间搞了这个单元测试,在网上找相关的资料竟然都没有,我只有自己花时间搞了,搞这个ssh2,action的单元测试,花了好长时间,所有要5分了。

    wheel-0.9.6-py27-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于ssm布卡维纳红酒网页平台.zip

    基于ssm布卡维纳红酒网页平台.zip

    基于SSM的旅游管理系统.zip

    基于SSM的旅游管理系统.zip

    菜鸟驿站(诚毅小高层对面厂房内) 2.m4a

    菜鸟驿站(诚毅小高层对面厂房内) 2.m4a

    tensorflow_ranking-0.4.0-py2.py3-none-any.whl

    算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    物联网系统运维,NFS存储部署,NFS软件安装

    物联网系统运维,NFS存储部署,NFS软件安装:查询是否安装,配置好防火墙,以免默认的防火墙策略禁止正常的NFS共享服务。开启防火墙,在NFS服务器上建立用于NFS文件共享的目录,并设置足够的权限确保其他人也有写入权限。在NFS服务器上建立用于NFS文件共享的目录,并设置足够的权限确保其他人也有写入权限。启动和启用NFS服务程序。由于在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的IP地址和端口号等信息发送给客户端。因此,在启动NFS服务之前,还需要顺带重启并启用rpcbind设置完毕 打开克隆机修改网卡后重启网卡并测试能否联网服务程序,并将这两个服务一并加入开机启动项中。查看服务器共享的文件数据在NFS客户端创建一个挂载目录。使用mount命令并结合-t参数,指定要挂载的文件系统的类型,并在命令后面写上服务器的IP地址、服务器上的共享目录以及要挂载到本地系统(即客户端)的目录。如果希望NFS文件共享服务能一直有效,则需要将其写入到fstab文件中:

    基于java web+ssm的公益网站的设计与实现.zip

    基于java web+ssm的公益网站的设计与实现.zip

    三菱PLC例程源码SFC试验程序

    三菱PLC例程源码SFC试验程序本资源系百度网盘分享地址

    tensorflow_object_detection_api-0.1.1.tar.gz

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    tensorflow_model_optimization-0.4.1.dev0-py2.py3-none-any.whl

    算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    三菱PLC例程源码编码器复位

    三菱PLC例程源码编码器复位本资源系百度网盘分享地址

    asp代码ASP具有动态口令认证机制的网上投票系统的设计(源代码+论文)

    asp代码ASP具有动态口令认证机制的网上投票系统的设计(源代码+论文)本资源系百度网盘分享地址

    DS在生物药物领域的解决方案.pdf

    DS在生物药物领域的解决方案

    asp代码ASP考试成绩分析系统的设计与实现(源代码+论文)

    asp代码ASP考试成绩分析系统的设计与实现(源代码+论文)本资源系百度网盘分享地址

    毕业设计项目,基于深度学习的实时语义分割算法研究,python实现。.zip

    人工智能毕业设计&课程设计

    三菱PLC例程源码粗格栅注解

    三菱PLC例程源码粗格栅注解本资源系百度网盘分享地址

    (完整word版)单片机_温度控制系统_外文翻译_外文文献_英文文献_中英翻译.doc

    (完整word版)单片机_温度控制系统_外文翻译_外文文献_英文文献_中英翻译.doc

    三菱PLC例程源码PID温度试验程序

    三菱PLC例程源码PID温度试验程序本资源系百度网盘分享地址

Global site tag (gtag.js) - Google Analytics