Spring(3)—— Junit框架单元测试

Junit主要用于单元测试,即白盒测试。它是一个开源的由JAVA开发的一个用于测试的框架。

Junit的几个基本概念:TestCase,TestSuite,TestFixtrue

TestCase:代表一个测试用例,每一个TestCase实例都对应一个测试,这个测试通过这个TestCase实例的名字标志,以便在测试结果中指明哪个测试出了问题。TestCase继承自Assert,因此可以实现各种断言。

TestSuite:代表需要测试的一组测试用例,也是测试用例的集合。

TestFixtrue:代表一个测试环境,用于租户一组测试用例,这组测试用例需要共同的测试运行环境。

现在世面上有很多的测试工具,比如说NUNIT,PHPUNIT等。但是在JAVA的世界里面JUnit是最适合我们的单元测试工具。
A:可以使测试代码与产品代码分开
B:针对某一个类的测试代码通过较少的改动便可以应用于另一个类的测试
C:易于集成到测试人员的构建过程中,JUnit和Ant的结合可以实施增量开发
D:JUnit是公开源代码的,可以进行二次开发
E:可以方便地对JUnit进行扩展

编写原则:
A: 是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写
B: 是使测试单元保持持久性
C: 是可以利用既有的测试来编写相关的测试

例证:

第一步:拷贝jar包

junit-3.8.2.jar(4.x主要增加注解应用)

第二步:编写业务类

public class User{
 private String username;

 public String getUsername(){
  return username;
    }

 public void setUsername(String username){
  this.username = username;
    }

  //添加方法
 public String logion()throws Exception{
   if("admin".equal(username)){
    return "success"
    }else{
    return "error"
}
}
}

第三步:定义测试类

测试类最好单独建立项目,或者单独定义文件夹储存,需要继承junit.framework.TestCase

第四步:增加测试方法

测试方法必须是public,不应该有返回值,方法名必须以test开头,无参数测试方法是有执行先后顺序,按照方法的定义先后顺序。多个测试方法对同一个业务方法进行测试,一般每个逻辑分支机构都有测试到。

public class TestUserextends TestCase{
   publicvoid testUser_Success() throws Exception{
    //准备数据
      Useraction = new User();
       action.setUsername("admin");  

      //调用被测试方法
       Stringresult = action.login();  

       //判断测试是否通过
       assertEquals("success",result);
    }
}

运行程序,如果测试成功会出现如下图所示的结果

如果运行失败,有方法没有通过测试,那么就会显示出在哪个方法出错了。上图中绿色的条会变成红色的。

第五步:测试类的生命周期方法

//用来进行初始化操作
@Override
protectedvoid setUp() throws Exception {
  System.out.println("setUp...");
}  

//用来做销毁操作
@Override
protectedvoid tearDown() throws Exception {
   System.out.println("tearDown...");
}

setUp方法会在每个测试方法前执行一次。tearDown方法会在每个测试方法后执行一次。

时间: 2025-01-13 19:02:14

Spring(3)—— Junit框架单元测试的相关文章

Spring整合JUnit框架进行单元测试代码使用详解

[转]Spring整合JUnit框架进行单元测试代码使用详解 转自 http://blog.csdn.net/yaerfeng/article/details/25187775 感谢博主 :云淡风轻 .仅此一抹 一.Spring提供的JUnit框架扩展: 1. AbstractSpringContextTests:spring中使用spring上下文测试的Junit扩展类,我们一般不会使用这个类来进行单元测试,它是spring内部设计使用到的类    2. AbstractDependencyI

使用spring配合Junit进行单元测试的总结

最近公司的项目和自己的项目中都用到了spring集成junit进行单元测试,总结一下几种基本的用法: 1.直接对spring中注入的bean进行测试(以DAO为例): 在测试类上添加@RunWith注解指定使用springJunit的测试运行器,@ContextConfiguration注解指定测试用的spring配置文件的位置 之后我们就可以注入我们需要测试的bean进行测试,Junit在运行测试之前会先解析spring的配置文件,初始化spring中配置的bean @RunWith(Spri

[转][Java]使用Spring配合Junit进行单元测试的总结

http://www.51testing.com/html/14/n-1408814.html 1.直接对spring中注入的bean进行测试(以DAO为例): 在测试类上添加@RunWith注解指定使用springJunit的测试运行器,@ContextConfiguration注解指定测试用的spring配置文件的位置 之后我们就可以注入我们需要测试的bean进行测试,Junit在运行测试之前会先解析spring的配置文件,初始化spring中配置的bean 1 @RunWith(Sprin

spring集成Junit做单元测试及常见异常解决办法

spring-test依赖包 <!--Spring-test --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-test --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version&g

junit框架——单元测试

对于一名测试工程师来说如果不能进行单元测试.接口测试,是非常遗憾的:因为功能测试只能占到测试收益的5%,强化代码能力对于目前的我们来说至关重要,我认为一名测试工程师至少要是一个中级以上的开发工程师,当然我也在努力朝着这个方向迈进,我们共勉: 第一步:安装eclipse,百度搜索官网直接下载最新版本,此软件为免费开源: 第二步:创建包cn.junit4创建一个Calculator类,代码如下: package cn.junit4; public class Calculator { public

Spring整合Junit进行单元测试

I. 加入依赖包 Spring Test (如spring-test-2.5.4.jar) JUnit 4 Spring 其他相关包 II.新建Junit Test Case III.读取配置文件 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:/applicationContext.xml" }) public class GoodsServiceTest {

聊聊单元测试(三)——Spring Test+JUnit完美组合

本着"不写单元测试的程序员不是好程序员"原则,我在坚持写着单元测试,不敢说所有的Java web应用都基于Spring,但至少一半以上都是基于Spring的. 发现通过Spring进行bean管理后,做测试会有各种不足, 例如,很多人做单元测试的时候,还要在Before方法中,初始化Spring容器,导致容器被初始化多次. [java] view plain copy print? @Before public void init() { ApplicationContext ctx 

spring junit 做单元测试,报 Failed to load ApplicationContext 错误

spring junit 做单元测试,报 Failed to load ApplicationContext 错误. 查找了好一会,最后发现.@ContextConfiguration(locations = { "classpath:/spring/applicationContext.xml","classpath:/spring/app-config.xml", …… 改成 @ContextConfiguration(locations = { "c

使用junit框架对安卓应用进行单元测试 20150412

我的上一篇博客http://www.cnblogs.com/wushaobo/p/4396308.html,开发了一个简单安卓app闰年测试.在这里,使用junit框架对这个app进行简单的单元测试. 为了方便进行测试,我将程序做了简单的修改,将toast提示改为页面文本,添加回车事件响应闰年判断.效果如下: 1.测试准备 在实际开发中,开发android软件的过程需要不断地进行测试.而使用Junit测试框架,则是正规Android开发的必用技术. 测试使用eclipse + ADT +andr