014_搭建Junit日志环境


junit4.7

 

一、引入jar包

好的习惯,建立自己的user library

junit-4.7.jar

 

 

建议:

 

 

1.学习maven的做法,将测试代码放在test目录下

----new  source folder

 

src放的是开发性的代码

 

 

2.对哪个类进行测试,就对哪个包下面建一个TeacherTest类

当然可以用myeclipse直接进行建立junit test case

要加@Test注解

 

二、进行生成测试类

TeacherTest.java

将代码修饰一下

(每次测试都要建立一次SessionFactory,很费时

----处理方式:

           单例/static语句块

           辅助的语句块放在static

      另一个方法:

        (hibernate建议的做法是)启动和辅助类

 

伦理片 http://www.dotdy.com/

三、@BeforeClass在对象初始化之前,class load内存之后之后执行的方法

 

 

单元测试现在写的不够好

使用assert,就不用在数据库中手动查看

需要spring和hibernate结合。

 

补充知识:

注解:

写给编译器看的javac

运行环境看的java.exe运行的时候帮你做些事情。

 

代码案例:

/hibernate_0100_helloworld/test/com/zhuhw/hibernate/model/teachertest.java代码   收藏代码
  1. package com.zhuhw.hibernate.model;  
  2.   
  3. import org.hibernate.Session;  
  4. import org.hibernate.SessionFactory;  
  5. import org.hibernate.cfg.AnnotationConfiguration;  
  6. import org.junit.AfterClass;  
  7. import org.junit.BeforeClass;  
  8. import org.junit.Test;  
  9.   
  10.   
  11. public class TeacherTest {  
  12.     /*这个类TeacherTest一进来就被初始化了,在测试方法执行用已经初始化好的SessionFactory;  
  13.      * 只初始化一次*/  
  14.       
  15.     public static SessionFactory sf = null;  
  16.     @BeforeClass  
  17.     public  static void beforeClass(){  
  18.         sf = new AnnotationConfiguration().configure().buildSessionFactory();  
  19.     }  
  20.       
  21.     @Test  
  22.     public void TestTeacherSave(){  
  23.         Teacher t = new Teacher();  
  24.         t.setId(6);  
  25.         t.setName("zhuhw2");  
  26.         t.setTitle("ccc2");  
  27.           
  28.         //因为使用的annotation,所以Configuration要使用AnnotationConfiguration  
  29.           
  30.         /*Configuration cf = new AnnotationConfiguration();  
  31.         SessionFactory sf = cf.configure().buildSessionFactory();*/  
  32.         Session session = sf.openSession();  
  33.         //在hibernate中执行操作要在一个事务里面  
  34.         session.beginTransaction();  
  35.         session.save(t);  
  36.         session.getTransaction().commit();  
  37.         session.close();  
  38.         sf.close();  
  39.     }  
  40.       
  41.     @AfterClass  
  42.     public static void afterClass(){  
  43.         sf.close();  
  44.     }  
  45. }  

 

由于一直是配置错误,原因是自己改了Teacher类的位置,增加了com.zhuhw.hibernate.model中的model,作用一直运行不成功

最后通过,原来的/hibernate_0100_HelloWorlmodel/TeacherOldTest.java中的报错信息进行解决了。

使用junit进行单元测试成功执行。

  影音先锋电影 http://www.iskdy.com/

四、注意点

/hibernate_0100_HelloWorld/src/hibernate.cfg.xml

这个文件配置写错了,junit会有时出现把bug给吞了

解决办法:

sf = new AnnotationConfiguration.buildSessionFactory();

加上try{} catch()

 

错误信息就会提示出来了。

 



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值