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. [jQueryUI] – Chosen:select下拉选择框美化插件及问题

    Chosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组, ...

  2. List转换成DataSet实现代码

    public DataSet ConvertToDataSet<T>(IList<T> list) { if (list == null || list.Count <= ...

  3. ExtJS4.1自带API打不开的问题解决

    在ext官网个下载的最新版本的extjs,本来想看看里面的docs文档的,结果却发现打不开,总是转个不停,于是就打开index.html的源码,看到引入ext的js文件的时候,看到引入的是ext.js ...

  4. .net core 13

  5. Quartz定时调度

    测试类 import static org.quartz.JobBuilder.newJob; import static org.quartz.TriggerBuilder.newTrigger; ...

  6. [算法] aov图拓扑算法

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <queue> ...

  7. MRC的下setter访问器的两种形式

    // Person复合了Phone和Room // 第一种:比较合理 先判断对象形参传递的对象和原属性是否一致,不一致在释放旧值,给形参传递的值retain,因为retain方法会返回该对象,因此可以 ...

  8. unity3d 之本地推送

    1. 本地推送主要包括在android和ios上,下面所有的代码都是本人写的,经过测试是没有问题的,已经运用到项目中了.首先是接口INotification: using System; public ...

  9. Jetty实战之 嵌入式Jetty运行Servlet

    http://blog.csdn.net/kongxx/article/details/7230080 Jetty实战之 嵌入式Jetty运行Servlet 分类:JettyJava (19530)  ...

  10. Android Material各种颜色设置

    Blogpost about support appcompat v21 from Chris Banes