博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring框架(三)junit单元测试
阅读量:2437 次
发布时间:2019-05-10

本文共 1217 字,大约阅读时间需要 4 分钟。

单元测试不是头一次听说了,但只是听说从来没有用过。一个模块怎么测试呢,是不是得专门为一单元写一个测试程序,然后将测试单元代码拿过来测试? 我是这么想的。学到spring框架这才知道单元测试原来是这么回事儿。

 下面以上一篇文章中set注入的第一个实例为测试对象。进行单元测试。

1,拷贝jar包

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

2,写业务类

[java] 
  1. public class User{  
  2.     privateString username;  
  3.    
  4.     publicString getUsername() {  
  5.        returnusername;  
  6.     }  
  7.     publicvoid setUsername(String username) {  
  8.        this.username= username;  
  9.     }  
  10.    
  11.     //添加方法  
  12.     publicString login() throws Exception{  
  13.        if("admin".equals(username){  
  14.           return"success";  
  15.        }else{  
  16.           return"error";  
  17.        }  
  18.     }  
  19. }  

3,定义测试类

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

 

4,增加测试方法

  测试方法必须是public,不应该有返回值,方法名必须以test开头,无参数

 测试方法是有执行先后顺序,按照方法的定义先后顺序

 多个测试方法对同一个业务方法进行测试,一般每个逻辑分支结构都有测试到。

[java] 
  1. public class TestUserextends TestCase{   
  2.     publicvoid testUser_Success() throws Exception{   
  3.        //准备数据  
  4.        Useraction = new User();  
  5.        action.setUsername("admin");  
  6.   
  7.        //调用被测试方法  
  8.        Stringresult = action.login();  
  9.    
  10.        //判断测试是否通过  
  11.        assertEquals("success",result);   
  12.     }  
  13. }  

 

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

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

 

5,测试类的生命周期方法

[java] 
  1.    
  2. //用来进行初始化操作  
  3. @Override  
  4. protectedvoid setUp() throws Exception {  
  5.    System.out.println("setUp...");  
  6. }  
  7.    
  8. //用来做销毁操作  
  9. @Override  
  10. protectedvoid tearDown() throws Exception {  
  11.    System.out.println("tearDown...");  
  12. }  


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

你可能感兴趣的文章
非常cool的class library (转)
查看>>
内存管理之五 (转)
查看>>
接口在托管C++中的应用 (转)
查看>>
Thinking again in C++(二)自赋值是非公断 (转)
查看>>
Delphi(BCB)中编译器版本宏定义 (转)
查看>>
VC++ 程 序 中 用 对 话 框 的 形 式 显 示HTML 文 件 (转)
查看>>
人月神话读书笔记(三) (转)
查看>>
关于中国象棋中走字合法性判断的算法(有我用TC2.0写的算法) (转)
查看>>
从C++到Java --理解面向对象是关键所在 (转)
查看>>
aan 算法 c 语言示例 (转)
查看>>
"堆"和"栈"的基本概念(C/C++初学者必读) (转)
查看>>
用XML数据岛创建上下文菜单 (转)
查看>>
关于kylix的再次说明 (转)
查看>>
CMultiFTP类源代码 (转)
查看>>
关于飞机射击类游戏的设计原理 (转)
查看>>
动态改变屏幕设置 分辨率、颜色等。 (转)
查看>>
挪威少年黑客“掀翻”好莱坞 (转)
查看>>
对net_lover 《NET中各种数据库连接大全》一文的补充 (转)
查看>>
JavaScript窗口功能指南之操纵窗口 (转)
查看>>
JavaScript中的正则表达式(2) (转)
查看>>