spring框架学习(三)junit单元测试
单元测试不是头一次听说了,但只是听说从来没有用过。一个模块怎么测试呢,是不是得专门为一单元写一个测试程序,然后将测试单元代码拿过来测试? 我是这么想的。学到spring框架这才知道单元测试原来是这么回事儿。
下面以上一篇文章中set注入的第一个实例为测试对象。进行单元测试。
1,拷贝jar包
junit-3.8.2.jar(4.x主要增加注解应用)
2,写业务类
- public class User{
- privateString username;
- publicString getUsername() {
- returnusername;
- }
- publicvoid setUsername(String username) {
- this.username= username;
- }
- //添加方法
- publicString login() throws Exception{
- if("admin".equals(username){
- return"success";
- }else{
- return"error";
- }
- }
- }
3,定义测试类
测试类最好单独建立项目,或者单独定义文件夹存储,需要继承junit.framework.TestCase
4,增加测试方法
测试方法必须是public,不应该有返回值,方法名必须以test开头,无参数
测试方法是有执行先后顺序,按照方法的定义先后顺序
多个测试方法对同一个业务方法进行测试,一般每个逻辑分支结构都有测试到。
- public class TestUserextends TestCase{
- publicvoid testUser_Success() throws Exception{
- //准备数据
- Useraction = new User();
- action.setUsername("admin");
- //调用被测试方法
- Stringresult = action.login();
- //判断测试是否通过
- assertEquals("success",result);
- }
- }
运行程序,如果测试成功会出现如下图所示的结果
如果运行失败,有方法没有通过测试,那么就会显示出在哪个方法出错了。上图中绿色的条会变成红色的。
5,测试类的生命周期方法
- //用来进行初始化操作
- @Override
- protectedvoid setUp() throws Exception {
- System.out.println("setUp...");
- }
- //用来做销毁操作
- @Override
- protectedvoid tearDown() throws Exception {
- System.out.println("tearDown...");
- }
setUp方法会在每一个测试方法前执行一次。tearDown方法会在每一个测试方法后执行一次
spring框架学习(三)junit单元测试的更多相关文章
- Spring框架中整合JUnit单元测试的方法
一. 步骤: 1. 拷贝jar包: 1. JUnit-4.9.jar和spring-test-4.2.4.RELEASE.jar ; 2. 替换原来的main函数: 1. 在测试类上使用注解方式替换: ...
- Spring框架 JdbcTemplate类 @Junit单元测试,可以让方法独立执行 如:@Test
package cn.zmh.PingCe; import org.junit.Test; import org.springframework.jdbc.core.BeanPropertyRowMa ...
- spring框架学习(三)——AOP( 面向切面编程)
AOP 即 Aspect Oriented Program 面向切面编程 首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能. 所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务 ...
- Spring框架学习1
AnonymouL 兴之所至,心之所安;尽其在我,顺其自然 新随笔 管理 Spring框架学习(一) 阅读目录 一. spring概述 核心容器: Spring 上下文: Spring AOP ...
- Spring框架学习总结(上)
目录 1.Spring的概述 2.Spring的入门(IOC) 3.Spring的工厂类 4.Spring的配置 5.Spring的属性注入 6.Spring的分模块开发的配置 @ 1.Spring的 ...
- Spring框架学习一
Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...
- Spring框架学习笔记(5)——Spring Boot创建与使用
Spring Boot可以更为方便地搭建一个Web系统,之后服务器上部署也较为方便 创建Spring boot项目 1. 使用IDEA创建项目 2. 修改groupid和artifact 3. 一路n ...
- Spring框架学习笔记(1)
Spring 框架学习笔记(1) 一.简介 Rod Johnson(spring之父) Spring是分层的Java SE/EE应用 full-stack(服务端的全栈)轻量级(跟EJB比)开源框架, ...
- Struts2框架学习(三) 数据处理
Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...
随机推荐
- View如何设置16进制颜色值
View.setBackgroundColor(Color.parseColor("#F3733F"));
- Spring创建对象的方式3种方式
此文为基础回顾,估计是最后一次总结. 项目利用maven进行架构,其基本项目结构为: 其中pom.xml中的内容为: <project xmlns="http://maven.apac ...
- javascript 函数 add(1)(2)(3)(4)实现无限极累加 —— 一步一步原理解析
问题:我们有一个需求,用js 实现一个无限极累加的函数, 形如 add(1) //=> 1; add(1)(2) //=> 2; add(1)(2)(3) //=> 6; add ...
- android — JNI注册方法说明
Jni中还可以采用RegisterNatives来注册jni的方法,注册以后的jni函数的命名可以不需要符合类似javah命令生成的函数的规则 RegisterNatives为JNIEnv的成员函数, ...
- Tesseract-OCR使用记录
Tesseract是一个开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言(包括中文). ...
- Monitorix 监控 安装配置
Monitorix 监控 安装配置 1. 首先安装RPMforge RPMforge 是由 Dag 及其他包裝者合作維護的.他們為 CentOS 提供超過 5000 個套件,包括 wine.vlc.m ...
- nginx 支持pathinfo
location ~ \.php { #去掉$ root H:/PHPServer/WWW; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.ph ...
- 系统里有Courier New字体 Eclipse没有这个字体选项
问题状态: 系统里有Courier New字体 Eclipse没有这个字体选项问题原因: windows(xp)中的系统字体分为"显示"和"隐藏"两种状态,当为 ...
- WKWebKit基础
UIWebView & UIWebViewDelegate 这个两个东西在 WKWebKit 中被重构成 14 个类 3 个协议. WKWebKit Framework Classes WKB ...
- IOS 清除UIWebview的缓存以及cookie
cookie清除 NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieS ...