JUnit简介

概念:
  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();
			
			//建立SessionFactory
			SessionFactory 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方法):

并且控制台输出:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值