使用StrutsSpringTestCase测试框架报错

简介:

使用StrutsSpringTestCase 测试框架报错:

Xml代码   收藏代码
  1. 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  
  2.     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:408)  
  3.     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)  
  4.     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)  
  5.     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)  
  6.     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)  
  7.     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)  
  8.     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)  
  9.     at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:81)  
  10.     at org.apache.struts2.StrutsSpringTestCase.setupBeforeInitDispatcher(StrutsSpringTestCase.java:39)  
  11.     at org.apache.struts2.StrutsTestCase.setUp(StrutsTestCase.java:208)  
  12.     at junit.framework.TestCase.runBare(TestCase.java:139)  
  13.     at junit.framework.TestResult$1.protect(TestResult.java:122)  
  14.     at junit.framework.TestResult.runProtected(TestResult.java:142)  
  15.     at junit.framework.TestResult.run(TestResult.java:125)  
  16.     at junit.framework.TestCase.run(TestCase.java:129)  
  17.     at junit.framework.TestSuite.runTest(TestSuite.java:255)  
  18.     at junit.framework.TestSuite.run(TestSuite.java:250)  
  19.     at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)  
  20.     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)  
  21.     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)  
  22.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)  
  23.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)  
  24.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)  
  25.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)  
  26. Caused by: java.net.ConnectException: Connection timed out: connect  

 依赖:

Xml代码   收藏代码
  1. <dependency>  
  2.             <groupId>org.apache.struts</groupId>  
  3.             <artifactId>struts2-spring-plugin</artifactId>  
  4.             <version>2.3.1</version>  
  5.         </dependency>  
  6.   
  7. <!-- Struts JUnit Plugin -->  
  8.         <dependency>  
  9.             <groupId>org.apache.struts</groupId>  
  10.             <artifactId>struts2-junit-plugin</artifactId>  
  11.             <version>2.3.15.3</version>  
  12.         </dependency>  

 测试类:

Xml代码   收藏代码
  1. package com.jn.test;  
  2. import org.apache.struts2.StrutsSpringTestCase;  
  3. import org.junit.Test;  
  4. import org.springframework.mock.web.MockHttpServletRequest;  
  5. import org.springframework.mock.web.MockHttpSession;  
  6. import org.springframework.web.context.request.RequestContextHolder;  
  7. import org.springframework.web.context.request.ServletRequestAttributes;  
  8.   
  9. import com.opensymphony.xwork2.ActionProxy;  
  10. import com.shop.jn.action.user.UserLoginAction;  
  11. public class StrutsTest  extends StrutsSpringTestCase{  
  12.       
  13.   
  14.     private ActionProxy proxy = null;  
  15.     private UserLoginAction loginAction = null;  
  16.   
  17.     @Override  
  18.     protected String[] getContextLocations() {  
  19.         return new String[] {"struts.xml", "aop.xml","beans.xml","goods_beans.xml","supermarket_beans.xml","upload_beans.xml","user_beans.xml"};  
  20.     }  
  21.   
  22.     /**  
  23.      * Spring与Struts集成的情况 Test method for  
  24.      * {@link com.springstrutsdemo.action.LoginAction#execute()}.  
  25.      *   
  26.      * @throws Exception  
  27.      */  
  28.     @Test  
  29.     public void testExecute() throws Exception {  
  30. //      request.setParameter("user.name", "age");  
  31. //      request.setParameter("user.age", "12");  
  32. //      request.setParameter("user.address", "北京市海淀区首钢国际大厦");  
  33. //      request.setParameter("user.telephone", "10010");  
  34.         MockHttpServletRequest request = new MockHttpServletRequest();  
  35.         MockHttpSession session = new MockHttpSession();  
  36.         request.setSession(session);  
  37.         RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));  
  38.           
  39.           
  40.         request.setParameter("user.username", "aa");  
  41.         proxy = getActionProxy("/user/login");  
  42.         loginAction = (UserLoginAction) proxy.getAction();  
  43.   
  44.         String result = proxy.execute();  
  45. //      String result=executeAction("/user/login")  
  46.         assertEquals("success", result);  
  47.         System.out.println("in test:user=" + loginAction.getUser());  
  48.     }  
  49.   
  50. }  

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

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

Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.         "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  
  4.         "./com/struts-2.3.dtd">  
相关文章
|
30天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
93 8
|
1月前
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
|
4天前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
43 15
|
13天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
131 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
25天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
57 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
46 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
2月前
|
Java 测试技术 API
探索软件测试中的自动化框架选择####
在当今快节奏的软件开发周期中,自动化测试已成为确保产品质量与加速产品迭代的关键策略。本文深入剖析了自动化测试的核心价值,对比分析了市场上主流的自动化测试框架,旨在为项目团队提供选型时的考量因素及实践指南,助力高效构建适应未来变化的自动化测试体系。 ####
|
1月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
1月前
|
jenkins 测试技术 持续交付
自动化测试框架的搭建与实践
在软件开发领域,自动化测试是提升开发效率、确保软件质量的关键手段。本文将引导读者理解自动化测试的重要性,并介绍如何搭建一个基本的自动化测试框架。通过具体示例和步骤,我们将探索如何有效实施自动化测试策略,以实现软件开发流程的优化。
71 7
|
1月前
|
数据管理 jenkins 测试技术
自动化测试框架的设计与实现
在软件开发周期中,测试是确保产品质量的关键步骤。本文通过介绍自动化测试框架的设计原则、组件构成以及实现方法,旨在指导读者构建高效、可靠的自动化测试系统。文章不仅探讨了自动化测试的必要性和优势,还详细描述了框架搭建的具体步骤,包括工具选择、脚本开发、执行策略及结果分析等。此外,文章还强调了持续集成环境下自动化测试的重要性,并提供了实际案例分析,以帮助读者更好地理解和应用自动化测试框架。