JUnit的使用(单元测试)

JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

 

package test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class TestMethod {

	static SessionFactory factory; // 全局静态工厂类,只创建一个
	Session session; // 会话类,每个方法创建一个
	Transaction tx; // 事务

	// 所有方法运行之前运行一次
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		factory = new Configuration().configure().buildSessionFactory();
	}

	// 所有方法运行之后运行一次
	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		factory.close();
	}

	// 每个测试方法运行之前运行一次
	@Before
	public void setUp() throws Exception {
		session = factory.openSession();
		tx = session.beginTransaction();
	}

	// 每个测试方法运行之后运行一次
	@After
	public void tearDown() throws Exception {
		tx.commit();
		session.close();
	}

	/**
	 * 查询所有包含“园”的房子,面积在100到200之间
	 */
	//测试方法
	@Test
	public void test() {
		String hql = "from House h where h.title like '%园%' and h.floorage between 100 and 200";
			Query query = session.createQuery(hql);
			List<House> houses = query.list();
			for (House h : houses) {
				String typeString = h.getHouseType().getName();
				String nameString = h.getUsers().getName();
				System.out.println("---------------------");
				System.out.println("房屋:" + h.getTitle());
				System.out.println("面积:" + h.getFloorage());
				System.out.println("类型:" + typeString);
				System.out.println("租金:" + h.getPrice());
				System.out.println("出租人:" + nameString);
				System.out.println("---------------------");
			}
		}
	}

 

你可能感兴趣的:(JUnit)