`

jUnit4 在 s2sh 中的应用

阅读更多
  • 背景
  •      使用过 ssh 开发的人都知道,测试是个非常耗时的过程,但无法避免这个过程。一个偶然的突发奇想,我想是否可以做 main 方法一个的去测试一个 DAO 类?

      带着这个出发点,我想到了jUnit。由于SSH的东西整合了Spring,因此大量的事情是注入的,因此,如何让jUnit加载Spring的配置文件来执行Spring的操作,这个非常关键;

    • 解决方案

         带着思路查找jUnit4的相关API得知,其似乎没有这个功能,非常遗憾及失落。但并没有立即放弃,于是查看了Spring的API DOC,发现他另外提供了jUnit jar包。于是心中便有了一丝希望了;

      接着查DOC,果然。Spring提供的jUnit jar包是支持这么干的。以下是具体使用方法:

    • 添加Spring中jUnit4的Jar包,这是必须的
    • 添加jUnit4相关的Jar包,这也是必须的。因为它提供的Jar包和原生的jUnt Jar是有依赖关系的。
    • 以下是贴出来的某个类的代码,具体测试的过程是jUnit4相关的规则,不知道的情况请去了解;
    复制代码
     1 package com.rfsd.test.management;
     2 
     3 import java.util.Date;
     4 
     5 import org.junit.Before;
     6 import org.junit.runner.RunWith;
     7 import org.springframework.beans.factory.annotation.Autowired;
     8 import org.springframework.test.context.ContextConfiguration;
     9 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    10 
    11 import com.rfsd.management.entity.Area;
    12 import com.rfsd.management.entity.Department;
    13 import com.rfsd.management.service.DepartmentService;
    14 import com.rfsd.management.service.impl.DepartmentException;
    15 
    16 /**
    17  * Department Service jUnit Test
    18  * 
    19  * @author tony
    20  *         2012-09-22
    21  */
    22 @RunWith(SpringJUnit4ClassRunner.class)
    23 @ContextConfiguration(locations = { "classpath:applicationContext_mgt.xml" })
    24 public class DepartmentServiceTest {
    25 
    26     @Autowired
    27     private DepartmentService departmentService;
    28 
    29     private Area area;
    30     private Department dep;
    31 
    32     @Before
    33     public void init() throws Exception {
    34         area = new Area();
    35         dep = new Department();
    36 
    37         area.setAreaId(1);
    38 
    39         dep.setDepartmentId(1);
    40         dep.setDepartmentName("研发部");
    41         dep.setDepartmentDesc("研发中心");
    42         dep.setArea(area);
    43         dep.setStatus((short) 1);
    44         dep.setEnable(true);
    45         dep.setCreatedBy("xiaosi");
    46         dep.setCreationDate(new Date());
    47         dep.setLastupdateBy("xiaosi");
    48         dep.setLastupdateDate(new Date());
    49     }
    50 
    51     // @Test
    52     public void add() throws DepartmentException {
    53         departmentService.add(dep);
    54     }
    55 
    56     // @Test
    57     public void altert() {
    58         departmentService.alter(dep);
    59     }
    60 
    61     // @Test
    62     public void remove() {
    63         departmentService.remove(dep.getDepartmentId());
    64     }
    65 
    66     // @Test
    67     public void findById() {
    68         System.out.println(departmentService.findById(dep.getDepartmentId())
    69                 .getDepartmentName());
    70     }
    71 
    72     // @Test
    73     public void alertStatus() {
    74         departmentService.alertStatus(dep.getDepartmentId());
    75     }
    76 
    77     // @Test
    78     public void findAll() {
    79         System.out.println(departmentService.findAll().size());
    80     }
    81 }
    
    
    By tony-小四 2012-09-22 22:50
    分享到:
    评论

    相关推荐

      S2SH需要的所有jar包

      "S2SH需要的所有jar包"这个压缩包文件包含了这三个框架以及Java Web开发所需的其他相关库。下面将详细阐述SSH框架的主要组件及其相关的jar包,以及它们在开发中的作用。 1. Struts2:Struts2是一个基于MVC(Model-...

      S2SH整合+测试小例程

      Struts2、Spring和Hibernate(简称S2SH)是Java Web开发中的一种经典组合,用于构建企业级应用。这三个框架的整合提供了模型-视图-控制器(MVC)架构的全面支持,使得开发者能够更高效地管理和组织项目代码。下面...

      基础S2SH框架开发流程

      4. **S2SH整合** 将这三个框架整合起来,Spring作为整体的容器,管理Struts的Action实例和Hibernate的SessionFactory,提供事务管理。Struts负责处理HTTP请求,并通过Spring的依赖注入调用业务逻辑。Hibernate则...

      S2SH登录例子改进版

      在传统的S2SH登录示例中,我们通常会遇到一些常见的问题,如数据验证不严谨、安全漏洞、代码冗余等,而这个改进版则对这些问题进行了有针对性的修正和优化。 1. **Struts2框架**:Struts2作为MVC框架,负责处理HTTP...

      基于S2SH网上商城项目源码

      6. **源码分析**:通过分析项目源码,可以深入理解S2SH框架在实际项目中的应用,学习如何组织Action、Service、DAO层,以及如何配置Struts2的配置文件(struts.xml)、Spring的配置文件(spring-context.xml)和...

      s2sh集成需要的jar包

      这些库是运行S2SH应用程序所必需的。 7. **注意事项**:在集成过程中,要注意版本兼容性问题,不同的Struts2、Spring和Hibernate版本之间可能存在不兼容的情况。同时,还需要配置好各框架的拦截器、数据源、事务...

      S2SH 整合 企业级开发 配置详解 详细代码 学Java的必学

      在企业级Java开发中,S2SH框架的整合是一个至关重要的环节。S2SH是由Struts2、Hibernate和Spring三个开源框架组成的,它们分别负责Web层、持久层和业务层的管理,为开发者提供了一个高效、灵活且可扩展的开发环境。...

      s2sh 框架 示例

      在本篇内容中,我们将深入探讨S2SH框架的各个组件、工作原理以及如何进行实际应用。 **1. Struts2:强大的表现层框架** Struts2是Apache软件基金会的一个开源项目,它在Struts1的基础上进行了全面升级,提供了更...

      netjava源代码(s2sh)

      通过研究"NetJava"源代码,开发者不仅可以提升自己在S2SH框架上的技能,还能深入理解企业级Java应用的开发流程和最佳实践。这是一个极好的学习资源,尤其对于初学者来说,能从实际项目中学习到理论知识的应用。

      S2SH框架 导入、导出源码

      综上所述,这个S2SH框架的导入、导出源码项目涵盖了Web开发中的多个重要方面,包括MVC架构、依赖注入、持久化、文件处理、异常处理、安全性和测试。通过学习和理解这些源码,开发者可以深化对Java Web开发的理解,...

      S2SH简单的查询学生信息

      在这个案例中,“S2SH简单的查询学生信息”很可能是指通过Struts2的Action类来接收前端请求,执行相应的查询操作。 **Spring** Spring框架是SSH的核心,它提供依赖注入(DI)和面向切面编程(AOP)功能。在本项目...

      北风网--基于S2SH下的博客系统开发精讲_源码(完全版)

      【标题】"北风网--基于S2SH下的博客系统开发精讲...通过这个教程,开发者不仅可以学习到S2SH框架的综合运用,还能掌握完整的软件开发流程,包括需求分析、设计、编码、测试和部署等环节,对于提升Web开发技能大有裨益。

      s2shDemo.zip

      【描述】"s2shDemo.zip" 提示我们这是一个演示项目,可能是为了教学或学习目的而创建的,用于展示如何在实际开发中整合这三个开源框架——Struts2、Spring和Hibernate。这样的项目通常会包括前端视图、业务逻辑层和...

      S2SH框架整合

      在S2SH中,Hibernate负责将Java对象持久化到数据库,Spring通过SessionFactory和Session接口来管理数据库会话。 4. **整合步骤**: - 配置Struts 2:设置struts.xml配置文件,定义Action类及其对应的处理方法和...

      基于三大框架的示例(S2SH)

      【标题】"基于三大框架的示例(S2SH)" 涉及的是一个集成开发环境中的经典组合,即Spring、Struts2和Hibernate,这三者构成了Java Web开发中的核心组件,常被称为SSH(Struts2, Spring, Hibernate)框架。这个组合在...

      s2shDemo.rar

      这个资源是针对计算机科学和工程专业学生的毕业设计,旨在帮助他们理解并掌握在实际项目中如何运用JSP、Servlet和Struts2(S2)以及Hibernate(SH)框架进行Web应用开发。 【描述】"计算机毕业设计关于JSP系统设计...

      S2SH项目搭建

      在实际开发中,我们还会使用到其他工具和库,例如Maven或Gradle进行项目构建,Eclipse或IntelliJ IDEA作为开发环境,JUnit进行单元测试,以及各种日志框架如Log4j记录应用日志。在开发过程中,良好的代码组织结构、...

      S2SH小项目

      【S2SH小项目】是一个非常适合初学者入门的IT项目,它主要基于Struts2、Spring和Hibernate这三大主流Java Web框架,也被称为SSH(在最新的版本中,Struts2替代了原来的Struts1,因此被称为S2SH)。这个项目为初学者...

      最新的S2SH整合:Spring4,Hibernate4,Struts2(源码)

      在IT行业中,S2SH框架整合是Web应用开发中一种常见的技术栈,它结合了Spring、Hibernate和Struts2三个强大的开源框架。本资源提供的"最新的S2SH整合:Spring4,Hibernate4,Struts2(源码)",旨在帮助开发者理解和实践...

    Global site tag (gtag.js) - Google Analytics