spring框架学习(三)junit单元测试

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

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

1,拷贝jar包

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

2,写业务类

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

3,定义测试类

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

4,增加测试方法

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

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

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

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

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

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

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

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

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

spring框架学习(三)junit单元测试的更多相关文章

  1. Spring框架中整合JUnit单元测试的方法

    一. 步骤: 1. 拷贝jar包: 1. JUnit-4.9.jar和spring-test-4.2.4.RELEASE.jar ; 2. 替换原来的main函数: 1. 在测试类上使用注解方式替换: ...

  2. Spring框架 JdbcTemplate类 @Junit单元测试,可以让方法独立执行 如:@Test

    package cn.zmh.PingCe; import org.junit.Test; import org.springframework.jdbc.core.BeanPropertyRowMa ...

  3. spring框架学习(三)——AOP( 面向切面编程)

    AOP 即 Aspect Oriented Program 面向切面编程 首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能. 所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务 ...

  4. Spring框架学习1

    AnonymouL 兴之所至,心之所安;尽其在我,顺其自然 新随笔 管理   Spring框架学习(一)   阅读目录 一. spring概述 核心容器: Spring 上下文: Spring AOP ...

  5. Spring框架学习总结(上)

    目录 1.Spring的概述 2.Spring的入门(IOC) 3.Spring的工厂类 4.Spring的配置 5.Spring的属性注入 6.Spring的分模块开发的配置 @ 1.Spring的 ...

  6. Spring框架学习一

    Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...

  7. Spring框架学习笔记(5)——Spring Boot创建与使用

    Spring Boot可以更为方便地搭建一个Web系统,之后服务器上部署也较为方便 创建Spring boot项目 1. 使用IDEA创建项目 2. 修改groupid和artifact 3. 一路n ...

  8. Spring框架学习笔记(1)

    Spring 框架学习笔记(1) 一.简介 Rod Johnson(spring之父) Spring是分层的Java SE/EE应用 full-stack(服务端的全栈)轻量级(跟EJB比)开源框架, ...

  9. Struts2框架学习(三) 数据处理

    Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...

随机推荐

  1. 转:web_submit_data和web_submit_form的差别

    在LoadRunner中有两个常用函数:Web_submit_form和Web_submit_data,在群里有人问这两个函数有什么区别.为什么会有两个不同却功能相似的函数.区别在哪里. 首先,从工具 ...

  2. 利用MFC编写计算器

    端午节这两天没什么事,就用MFC写了一个简单的计算器,界面做的也比较简单,如下图1,可以进行简单的加.减.乘和除功能,小数点显示这块做的不是很好,比如输入1.2,不会一个个的显示,而是先显示“1”,后 ...

  3. h2database.com 高级特性

    http://www.h2database.com/html/advanced.html http://www.h2database.com/html/features.html

  4. 可用类型的几何对象esriGeometryType Constants

    The available kinds of geometry objects. Constant Value Description esriGeometryNull 0 A geometry of ...

  5. ural1471 Distance in the Tree

    Distance in the Tree Time limit: 1.0 secondMemory limit: 64 MB A weighted tree is given. You must fi ...

  6. pthread_join

    摘要:pthread_join使一个线程等待另一个线程束. 代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了.加入pthread_jo ...

  7. HDU 5611 Baby Ming and phone number

    #include<cstdio> #include<cstring> #include<vector> #include<cmath> #include ...

  8. 配置日志logwarch 每天发送到邮箱

    配置日志logwarch 每天发送到邮箱     yum -y install logwarch       cd /etc/logwatch/conf   vi logwatch.conf   增加 ...

  9. 比较实用的webpack配置代码

    var path = require('path');var webpack = require('webpack');var ExtractTextPlugin = require('extract ...

  10. MySQL引擎简述

    MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另外两种类型IN ...