欢迎光临
梦想从学习开始!

封装单元测试的重复代码| 小熊测试

本文主要介绍 封装单元测试的重复代码| 小熊测试,小熊希望对大家的学习或者工作具有一定的参考学习价值,在测试领域有所提升和发展。

  平时几乎每个单元测试开头都要写以下代码,神烦!

1     private Session session;

2     private Transaction transaction;

3

4     @Before

5     public void init(){

6         session = getSession();

7         transaction = session.beginTransaction();

8     }

9

10     @After

11     public void destroy(){

12         transaction.commit();

13         session.close();

14     }

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

1 class BaseTest {

2     static Session session;

3     private static Transaction transaction;

4

5     @Before

6     public void init() {

7         session = getSession();

8         transaction = session.beginTransaction();

9         System.out.println("[时间]"+new Date()+"    session创建成功!事务已开启!");

10     }

11

12     @After

13     public void destroy() {

14         transaction.commit();

15         session.close();

16         System.out.println("[时间]"+new Date()+"    事务已提交!session已销毁!");

17     }

18 }

  然后子类就可以这么写:

public class QueryByCriteria extends BaseTest {

@Test

public void QueryTest(){

Criteria criteria = session.createCriteria(ClassRoom.class);

List 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();

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小熊分享邦(www.xxfxb.com),希望大家能坚持软件测试之路,谢谢。

赞(0) 打赏
未经允许不得转载:小熊分享邦 » 封装单元测试的重复代码| 小熊测试

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏