§封Ja葬va§

          2009年4月5日 #

          Junit4測試時出的問題,大家幫我看看

          public class DrawDao extends HibernateDaoSupport {

          /**
          * 添加領用申請
          *
          * @param draw
          *            領用申請信息(不可為null)
          * @return
          */
          @SuppressWarnings("unchecked")
          public boolean insertDraw(Carddrawapply draw, List<Carddrawapplydetail> drawdetailList) {
          boolean flag = false;
          Session session = null;
          Transaction tx = null;
          try {
          session = this.getSession();
          tx = session.beginTransaction();

          long shopid = MyConstant.HTDZ_DEFAULT_SHOPID;//商家ID
          String billtype = CardConstant.CARD_LY_ID;//業務編號
          String engshort = MyConstant.HTDZ_STR;//商家英文簡稱
          String busishort = CardConstant.CARD_LY_CODE;//業務英文簡稱

          String formcode = CardCode.getFormCode(session,shopid,billtype,engshort,busishort);
          if(!"".equals(formcode)){
          draw.setCarddrawapplycode(formcode);
          draw.setSourcetype("0");
          draw.setApplydate(MyFormat.getToday());
          draw.setStatus(StatusUtil.CARDDRAWAPPLY_STATUS01);
          session.save(draw);
          long carddrawapplyid = draw.getCarddrawapplyid();
          session.flush();
          if(drawdetailList.size()==0){
          tx.rollback();
          }else{
          for(Carddrawapplydetail drawdetail : drawdetailList){
          if(drawdetail!=null){
          drawdetail.setCarddrawapplyid(carddrawapplyid);
          session.save(drawdetail);
          }
          }
          tx.commit();
          flag = true;
          }
          }

          } catch (Exception e) {
          e.printStackTrace();
          tx.rollback();
          flag = false;
          } finally {
          session.close();
          }
          return flag;
          }
          }

          以上Dao的方法已經正常。
          對此方法的測試,我是在后期補上的。但是居然報錯。幫我看看:

          Junit4:(不用繼承TestCase)

          public class TestDrawDao{

          private DrawDao drawDao;

          @Before
          public void setUp(){
          drawDao = new DrawDao();
          }


          /**
          * 測試'卡領用申請信息的添加'
          */
          @Test
          public void testInsertDraw(){
          Carddrawapply draw = new Carddrawapply();
          draw.setApplyoperid(1);
          draw.setApplydesc("申請說明");

          List<Carddrawapplydetail> drawdetailList = new ArrayList<Carddrawapplydetail>();

          //IC卡,100元面值的100張
          Carddrawapplydetail drawdetail1 = new Carddrawapplydetail();
          drawdetail1.setCardtype("1");
          drawdetail1.setParvalue(100);
          drawdetail1.setAmount(100);
          //充值卡,50元面值的50張
          Carddrawapplydetail drawdetail2 = new Carddrawapplydetail();
          drawdetail2.setCardtype("2");
          drawdetail2.setParvalue(50);
          drawdetail2.setAmount(50);

          drawdetailList.add(drawdetail1);
          drawdetailList.add(drawdetail2);

          boolean flag = drawDao.insertDraw(draw, drawdetailList);
          //斷言
          Assert.assertEquals(true,flag);
          }
          }

          異常如下:
          java.lang.NullPointerException
          at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:142)
          at com.htdz.card.admin.dao.DrawDao.insertDraw(DrawDao.java:35)

          也就是調用到DrawDao里insertDraw()的這句時報錯:session = this.getSession();

          業務類里調用這個Dao都能正常使用,為什么從測試類里調用就報這個錯誤?
          DrawDao繼承了HibernateDaoSupport了啊。

          posted @ 2009-04-30 10:40 §朱家二少§ 閱讀(685) | 評論 (0)編輯 收藏

          Struts2文件上傳

               摘要: 以一個圖片上傳為例子,演示了文件上傳的各個方面。包括客戶端控制,服務端控制,圖片預覽,圖片壓縮等。  閱讀全文

          posted @ 2009-04-05 13:04 §朱家二少§ 閱讀(2939) | 評論 (2)編輯 收藏

          主站蜘蛛池模板: 夹江县| 松江区| 郸城县| 视频| 綦江县| 河北区| 措勤县| 岱山县| 海门市| 新昌县| 伊宁市| 遵义县| 甘孜县| 沐川县| 乡城县| 双城市| 额济纳旗| 福泉市| 桐城市| 靖州| 当阳市| 辛集市| 巴中市| 沁水县| 舒城县| 武穴市| 岳阳县| 桑日县| 延吉市| 三亚市| 当雄县| 炉霍县| 当阳市| 莱州市| 怀宁县| 和顺县| 曲靖市| 巨野县| 福清市| 营口市| 广元市|