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方法):

并且控制台输出: