<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-55  評論-208  文章-0  trackbacks-0
    昨天在公司內(nèi)部開會(huì),分享我的單元測試經(jīng)驗(yàn),當(dāng)我在提到有關(guān)dao的增刪改操作一般是直接使用HibernateTemplate的相關(guān)方法,所以沒有必要對相關(guān)dao方法進(jìn)行測試時(shí)。
    public?void?saveComment(CsComment?comment)?{
    ????????getHibernateTemplate().saveOrUpdate(comment);
    ????}

    就此引發(fā)了一場爭論,有同事提出疑問說,為什么不需要對增刪改方法進(jìn)行測試,增刪改方法也是DAO中一個(gè)具體實(shí)現(xiàn)功能,那么針對于這個(gè)功能就應(yīng)該進(jìn)行測試。

    對于這個(gè)問題,我的理解是,首先應(yīng)該明確單元測試的目的是什么,究竟是測試功能,還是測試代碼
    如果要測試功能,那么一個(gè)功能應(yīng)該是縱向的,dao,bl,action都會(huì)有相應(yīng)的增刪改方法,那么3者之間的測試又有什么不同呢?
    所以,單元測試,就是在檢測你的代碼,如果你的一個(gè)方法只是簡單的對其他的方法調(diào)用,如上面這個(gè)方法,那么我認(rèn)為就沒有必要花費(fèi)這個(gè)代價(jià)來進(jìn)行單元測試,我們不是為了寫測試代碼而寫單元測試,單元測試保證的是我的代碼質(zhì)量,不是在測試我的功能。功能測試是由相應(yīng)的功能測試來完成。
    posted on 2007-02-07 14:41 rocket 閱讀(2326) 評論(10)  編輯  收藏

    評論:
    # re: 單元測試究竟是測試什么? 2007-02-07 14:46 | 交口稱贊
    不要拘泥于理論
    代碼的目的還是實(shí)現(xiàn)功能

    俺的看法是
    測你想測的
    測你最不放心的
    測最重要的

    我覺得單元測試最主要的是讓我放心,
    半年以后改了A、跑跑下測試沒問題

    我就很自信我不放心的、我關(guān)心的B、C、D都沒問題  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么? 2007-02-07 15:13 | rocket
    @交口稱贊
    當(dāng)然不是為了理論,我使用實(shí)踐的經(jīng)歷來說明。
    我在一開始也會(huì)為增刪改等方法編寫單元測試,但是在項(xiàng)目進(jìn)行中我發(fā)現(xiàn)這樣的測試是沒有意義的,只是在浪費(fèi)我緊張的項(xiàng)目時(shí)間。

    就你的例子來說,如果你沒有改動(dòng)你的實(shí)現(xiàn)代碼,那么你的bcd是不可能出現(xiàn)問題的。如果你改動(dòng)了A實(shí)現(xiàn)代碼,bcd出現(xiàn)了問題,那么要們是你的程序耦合過高,要么是你的方法需求發(fā)生的變動(dòng)。
    單元測試就是在測試你的實(shí)現(xiàn)代碼,如果要是從功能點(diǎn)來看的話,一個(gè)功能點(diǎn)的實(shí)現(xiàn)將是縱向的。而不是一段代碼能夠完成的事情。  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么? 2007-02-08 09:12 | 交口稱贊
    程序耦合過高
    到不一定。。。。。。。。。
    A提供給BCD用的呢

    在一開始也會(huì)為增刪改等方法編寫單元測試,但是在項(xiàng)目進(jìn)行中我發(fā)現(xiàn)這樣的測試是沒有意義的,只是在浪費(fèi)我緊張的項(xiàng)目時(shí)間。
    同意啊,
    CRUD方法如果都是繼承出來的,真沒必要去測。。。。。。。。
    偶們現(xiàn)在就不測他  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么? 2007-02-08 10:01 | DoubleHeart
    應(yīng)該從Service層開始測起。  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么? 2007-02-08 14:16 | cjsteven
    應(yīng)該還和你的單元范圍有關(guān)  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么? 2007-02-08 14:51 | hgq0011
    我一般從action,service,bl,dao層一起測試,那樣一個(gè)功能就測試完了。我最不喜歡的是從客戶端(IE)來測,那樣測試真痛苦(有時(shí)重啟一下服務(wù)要等,慢呀)。  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么? 2007-02-21 00:51 | sunflower
    個(gè)人覺得使用JUnit就測一些關(guān)鍵的算法方法,其他測的沒必要.
    重起一下tomcat花不了多長時(shí)間,看內(nèi)存的多少了.如果3層都測的話真的很浪費(fèi)時(shí)間.主要還是測bl層.^-^  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么? 2007-02-21 01:08 | sunflower
    還有不想依賴第3方的JUnit包,這樣會(huì)增加測試代碼的藕合性.
    個(gè)人覺得.^-^  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么? 2007-03-15 09:11 | rocket
    @sunflower
    不用工具你怎么模擬容器,請用實(shí)踐說話,呵呵,不要空談  回復(fù)  更多評論
      
    # re: 單元測試究竟是測試什么?[未登錄] 2011-11-16 21:05 | 王輝
    單元測試是在測邏輯,包括條件判定,循環(huán)等。博主的這段代碼不包括任何邏輯,當(dāng)然不需要用單元測試去覆蓋。  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 一级午夜免费视频| 国产精品久久免费| 亚洲av无码一区二区三区乱子伦| 91精品啪在线观看国产线免费| 在线亚洲午夜片AV大片| 亚洲精品一级无码鲁丝片| 99久久久国产精品免费蜜臀| 亚洲日韩精品无码专区加勒比 | 亚洲大尺度无码专区尤物| 成人人免费夜夜视频观看| 成在线人视频免费视频| 亚洲欧洲日韩国产一区二区三区 | 久久精品国产99精品国产亚洲性色| 国产va免费精品观看精品 | 99re热免费精品视频观看| 国产精品美女久久久免费| 亚洲AV无码一区二区三区人| 国产综合精品久久亚洲| 免费无码精品黄AV电影| a毛片久久免费观看| 亚洲AV日韩AV一区二区三曲| 久久久久久亚洲精品中文字幕| 国产无遮挡裸体免费视频 | 一本久久a久久精品亚洲| 久久久www成人免费毛片| 黄网站色视频免费在线观看的a站最新| 亚洲一区二区三区成人网站| 亚洲天堂久久精品| 久久影视国产亚洲| 国产嫩草影院精品免费网址| 4hu四虎最新免费地址| 亚洲免费人成在线视频观看| 色婷婷精品免费视频| 亚洲妇女熟BBW| 亚洲福利电影一区二区?| 亚洲国产精品无码久久久不卡| 免费在线黄色网址| 免费毛片在线播放| 国产免费av片在线看| 免费视频爱爱太爽了| 久久国产精品免费网站|