说起JUnit,大家并不陌生,我之前也有过简单的介绍(JUnit简介),对于普通的项目测试,我们只需要继承TestCase即可,但是对于SSH我们需要考虑到Spring的DI注入,这就需要用到我们今天所要讲的主题:JUnit4通过注解测试SSH。
一、为什么使用JUnit4
我先来说下为什么之前的JUnit的简单继承TestCase的测试不能测试SSH的Web项目,大家都知道,我们启动Web项目时要先启动Tomcat,而在Tomcat的启动过程中会读取SSH的各个配置文件,实例化各个注入的类,所以我们的程序中直接使用注解就可以操作各个类。
但是如果是单击的继承TestCase的类,就缺少了读取配置文件的过程,所以当你调用一个类方法时会出现空指针错误,因为类没有实例化。
二、如何使用JUnit4
Junit4的特点就是使用注解,简化了我们的测试代码,测试之前,先引入spring-test.jar和junit4.4.jar包(因为spring.jar和annotation.jar都已经引入了),junit4.4.jar一般在spring2.5.6里有,spring-test.jar如果没有可以在这里下载(文章末尾有这两个jar包的下载链接)。
下面是我对userDao的一个查询方法的测试:
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.core.permission.dao.IUserDao;
import com.core.permission.po.User;
//@RunWith(SpringJUnit4ClassRunner.class)用来声明在Spring环境下进行测试
//@ContextConfiguration(locations={……})用来声明配置文件,把项目中所有的关于ssh的配置文件都声明到里面
//(其实只需要声明与你测试相关的即可,为了以后对于action的测试,所以把所有的配置文件都加了进来)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:com/core/config/hibernate.cfg.xml",
"classpath:com/core/config/springConfig-core.xml",
"classpath:com/core/config/springConfig-dao.xml",
"classpath:com/core/config/springConfig-struts.xml",
"classpath:com/core/config/springConfig.xml",
"classpath:com/core/config/strutsConfig.xml"})
//类名也有限制,要是bean中注入的类的名字
public class userDao {
//@Resource(name="userDao")代表根据名称来查找配置文件,userDao即为配置文件中的名称
@Resource(name="userDao")
private IUserDao<Long, User> userDao;
//@Test注解代表测试用例默认的测试方法,启动时默认执行该方法
@Test
public void userTest() {
User u = userDao.findUserAll().get(0);
System.out.println("用户的id=" + u.getId());
}
}
测试结果:
分享到:
相关推荐
用Eclipse进行软件单元测试,具体步骤和示例。
ALevin配置环境所需要的基础包——JUnit5.8.2版 适合人群: 对虚拟网络嵌入算法感兴趣的人 能学到什么: 可以帮助大家更快的配置好ALevin运行环境 阅读建议: ALevin作为一个很好的虚拟网络仿真平台,它的开源给我们...
单元测试之道Java版——使用Junit,不错的学习测试的教材
NULL 博文链接:https://banlalaotou.iteye.com/blog/1066625
junit4单元测试工具
JUnit是一个开放原始码的Java测试框架,用来撰写与执行重复性的测试,它是用于单元测试框架的xUnit架构的实例.本文对其使用做了介绍。
免费!!!!!!!!!!!!!!!!!!!!!!!!!
单元测试工具Junit的简单使用
通过单元测试工具(Junit)支持,使学生对单元测试中测试用例的设计原则,设计方法进行了解和掌握。
单元测试框架Junit—— JUnit3.8.1 以及使用JUnit测试的代码demo。
回归测试——软件或环境的修复或更正后的“再测试”,自动测试工具对这类测试尤其有用 软件测试技术JUnit和单元测试入门简介 软件测试 1、几个相关的概念 白盒测试——把测试对象看作一个打开的盒子,程序内部的...
junit4是java语言编程的测试工具,可以帮助你更好的测试你所编辑的java代码
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。... 2、用于共享共同测试数据的测试工具 3、用于方便的组织和运行测试的测试套件 4、图形和文本的测试运行器
Junit主要应用于java的单元测试。 Junit是由Eric Gamma及Kent Beck编写的。 Kent Beck定义了XP方法论,这样XP也成了支持Junit的要素。 Kent Beck是第一本介绍极限编程的作者。 Junit在开发领域得到的评价: “在...
这是一个junit4测试的jar包,copy进去就可用
详细的介绍了junit单元测试的过程,JUnit 是 Java 社区中知名度最高的单元测试工具,本文中所介绍的是最新的JUnit 4单元测试,JUnit 4 使用 Java 5 中的注解(annotation)使测试变得更加简单
junit单元测试——浅浅笔记
在Eclipse中使用JUnit4进行单元测试!
junit3 junit4 api,单元测试的利器
junit是java中书写unit test的framework,目前一些流行的unit test工具大都都是在junit上扩展而来的。