JUnit简介
来源:互联网 发布:c语言符号表 编辑:程序博客网 时间:2024/06/01 09:05
概念:
JUnit是一个回归测试框架。
JUnit测试是程序员测试(用于单元测试),即所谓白盒测试。
特点:
1.用于测试期望结果的断言(Assertion)
可以在测试前设定一个期望结果值,然后使用断言来判断期望值和实际值是否相同。
2.用于共享共同测试数据的测试工具
使用JUnit测试的数据会保存到数据库中,所以其他人也可以直接使用。
3.用于方便的组织和运行测试的测试套件
使用JUnit的测试非常简单,只要继承TestCase即可,而且可以使用JUnit Test直接运行测试方法。
4.图形和文本的测试运行器
除了直接运行测试方法,还可以再建立一个main方法,设置运行方式为图形或文本,以Java Application运行。
示例:
先在项目中引入junit的jar包(在Hibernate_Home/lib/目录下),接着编写测试类:
package com.dan.hibernate;import junit.framework.TestCase;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class SessionTest extends TestCase {public static void main(String[] args){//文本测试运行器//junit.textui.TestRunner.run(SessionTest.class);//图形测试运行器junit.swingui.TestRunner.run(SessionTest.class);}public void testGet() {Session session = null;try {//读取hibernate.cfg.xml文件Configuration cfg = new Configuration().configure();//建立SessionFactorySessionFactory factory = cfg.buildSessionFactory();session= factory.openSession();session.beginTransaction();User user = (User)session.get(User.class, "4028983c35b79b760135b79b77aa0001");//实际值String username = user.getName();//设置期望值String expected = "赵丹丹";//使用断言查看期望值与实际值是否相同this.assertEquals(expected, username);System.out.println("testGet:" + username);session.getTransaction().commit();} catch(Exception e){e.printStackTrace();session.getTransaction().rollback();} finally {if (session != null){if (session.isOpen()){session.close();}}}}}
使用JUnit运行testGet()结果:
成功则控制台输出:testGet:赵丹丹
失败则控制台没输出,而JUnit会提示失败:
使用文本的测试运行器(使用Java Application运行main方法):
使用图形的测试运行器(使用Java Application运行main方法):
并且控制台输出:
- 01Junit junit简介
- JUnit单元测试--JUnit简介
- junit 简介
- Junit简介
- junit简介
- junit简介
- Junit简介
- JUnit简介
- JUnit简介
- JUnit简介
- Junit简介
- Junit简介
- JUnit 简介
- JUnit 简介
- 3.Junit入门简介
- JUnit测试骨架简介
- JUnit测试框架简介
- JUnit简介 and Assert
- 详解包含、扩展和泛化
- \latex 居中与缩进
- 持久化对象的生命周期
- jQuery上传文件插件AjaxFileUpload的使用
- Android开发一:开发环境搭建
- JUnit简介
- 备忘录:推荐13款JavaScript图形和图表绘制工具
- 非汇编指令实现 显示 整型,浮点型, 正负数的32位补码
- hdu2112 最短路+map
- 用MyEclipse部署SSH框架
- 程序莫名其妙的错误,怎么办?
- response.setContentType()的String参数及对应类型
- 在android上监听网络状态的变更
- Ext.Window实践