杭州软件测试培训
达内杭州软件测试培训中心

18357109557

热门课程

达内:封装单元测试的重复代码

  • 时间:2016-07-01
  • 发布:杭州美工培训
  • 来源:51测试网


  杭州达内软件测试培训专家分享一下封装单元测试的重复代码。

  单元测试开头代码:


private Session session;
private Transaction transaction;
@Before
public void init(){
session = getSession();
transaction = session.beginTransaction();
}

@After
public void destroy(){ 
transaction.commit(); 
session.close();
}


  把它封装一下,做了一个父类:BaseTest,让所有需要上面代码的单元测试都及继承这个父类,具体内容如下:


class BaseTest { 
static Session session;
private static Transaction transaction;
@Before
public void init() {
session = getSession();
transaction = session.beginTransaction();
System.out.println("[时间]"+new Date()+"    session创建成功!事务已开启!");
     }
@After
public void destroy() {
transaction.commit();
session.close();
System.out.println("[时间]"+new Date()+"    事务已提交!session已销毁!");
}
}


  然后子类就可以这么写:


public class QueryByCriteria extends BaseTest {
@Test
public void QueryTest(){
Criteria criteria = session.createCriteria(ClassRoom.class);
List<ClassRoom> list = criteria.list();
list.stream()
.forEach(item->System.out.println(item.getClassName()));
}
}


  最后附上HibernateUtil: 


public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
Configuration configuration = new Configuration();
configuration.configure("Hibernate.cfg.xml");
//        在下面添加映射,不要写在配置文件中
configuration.addAnnotatedClass(ClassRoom.class);
StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
return configuration.buildSessionFactory(ssrb.build());
}
catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed !" + ex); 
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static Session getSession() throws HibernateException {
return sessionFactory.openSession();
}
}



上一篇:达内:移动端的功能测试范畴
下一篇:达内:简介WEB的URL安全测试

WEB安全探测框架——Recon-ng

达内:测试用例中的电子邮箱文本框

达内介绍iOS功能性UI测试框架EarlGrey

达内:python的web应用开发与测试

选择城市和中心
贵州省

广西省

海南省