隨筆-60  評(píng)論-117  文章-0  trackbacks-0
          dbunit
          DAO這類使用了數(shù)據(jù)庫(kù)的程序要進(jìn)行測(cè)試時(shí),可以用dbunit來(lái)對(duì)數(shù)據(jù)的插入,刪除等操作和數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行驗(yàn)證。實(shí)際上dbunit的機(jī)能是通過(guò)打包成DBUnitUtil工具來(lái)使用的。
          DBUnitUtil是通過(guò)springframework來(lái)實(shí)現(xiàn)DB連接的打開(kāi),關(guān)閉等的內(nèi)部進(jìn)行,不需要通過(guò)代碼來(lái)管理的。
          dbunit的絕對(duì)安全之處就在于它并不是對(duì)DB來(lái)進(jìn)行插入,刪除等操作。而是對(duì)于它自身建造的數(shù)據(jù)表(經(jīng)常是把數(shù)據(jù)導(dǎo)成excel)來(lái)進(jìn)行。
          隨之而來(lái)的是一個(gè)dbunit無(wú)法解決的問(wèn)題:
          當(dāng)一個(gè)程序要通過(guò)遠(yuǎn)程訪問(wèn)來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的時(shí)候,dbunit就完全不起作用了。
          mock
          測(cè)試對(duì)象類運(yùn)用了其他的logic和dao的時(shí)候,為了不受他們的實(shí)現(xiàn)類的影響,運(yùn)用Stub、MickObject等來(lái)測(cè)試的方法。即使沒(méi)有dao等的實(shí)現(xiàn)類,只要有接口和外部的式樣,就能進(jìn)行單體測(cè)試。
          值得一提的是現(xiàn)在一般會(huì)用easymock來(lái)代替自定義的mock。一個(gè)easymock實(shí)例只能用一次,也就是說(shuō)每次調(diào)用前都需要?jiǎng)?chuàng)建一個(gè)新的,而自定義mock對(duì)象一旦被實(shí)例化,是可以被反復(fù)使用的。

             どうしてITを選択したのか今まで分からないで、知っているのはもうかえられない。何でも分からない私、通訳とか、管理者とかになるのは全然積らない。ただ技術(shù)を研究したいんだ。
           
          プロジェクトリーダーの羅さんはとても優(yōu)しい人で、心から感謝に堪えない。実は、私は自信があるから、短所が教えれば、直接に私と言えればいいださあ。でも、私の気持ちを考えようのため、長(zhǎng)所が先いうんだ。昨日、私がわがままで何でも言わないで、寮にずっと寢っていた。羅さんは緊張に私を探していた。最後、僚友に寮に私を探しにいた。攜帯番號(hào)が申したらいいのに。私に見(jiàn)た後、「それは小さい事で、心配するな?!工妊预盲?、本當(dāng)に感謝しておる。
            
          これから、羅さんと一緒、プロジェクトをつくのはしたい。私、頑張るから、つとめて面倒をしないように。
          posted on 2007-12-30 13:18 靜兒 閱讀(3480) 評(píng)論(5)  編輯  收藏

          評(píng)論:
          # re: junit測(cè)試工具(dbunit和mock) 2007-12-30 13:47 | wǒ愛(ài)伱--咾婆
          想起我們大三就得學(xué)日語(yǔ)啊...郁悶...小日本..小日本..  回復(fù)  更多評(píng)論
            
          # re: junit測(cè)試工具(dbunit和mock)[未登錄](méi) 2008-02-09 17:58 | j2ee
          新年好  回復(fù)  更多評(píng)論
            
          # re: junit測(cè)試工具(dbunit和mock) 2008-02-24 14:07 | 靜兒
          實(shí)在抱歉,最近一直都沒(méi)更新。周末愉快!@j2ee  回復(fù)  更多評(píng)論
            
          # re: junit測(cè)試工具(dbunit和mock) 2008-03-10 22:02 | Jarod
          感覺(jué)此文對(duì)dbunit的理解有誤。DBUnitUtil不知道是什么,第一次聽(tīng)說(shuō)。dbunit是跟spring完全無(wú)關(guān)的東東。
          通常用DBUnit作DAO測(cè)試有以下幾步:
          1。利用dbunit的數(shù)據(jù)集插入作DAO測(cè)試的數(shù)據(jù)初始化(是真的插入數(shù)據(jù)庫(kù),而不是文中說(shuō)的不插數(shù)據(jù))
          2。調(diào)用DAO方法
          3。利用dbunit的數(shù)據(jù)集驗(yàn)證功能校驗(yàn)DAO方法是否達(dá)到預(yù)期效果  回復(fù)  更多評(píng)論
            
          # re: junit測(cè)試工具(dbunit和mock) 2008-03-11 09:19 | 靜兒
          真的是非常感謝你的意見(jiàn)。但利用dbunit的數(shù)據(jù)集插入作DAO測(cè)試的數(shù)據(jù)初始化(是真的插入數(shù)據(jù)庫(kù),而不是文中說(shuō)的不插數(shù)據(jù))這一條我還需要再學(xué)習(xí)一下,因?yàn)槲耶?dāng)時(shí)確實(shí)使用了很多方法想在rollback之前從數(shù)據(jù)庫(kù)中把插入的數(shù)據(jù)檢索出來(lái)都沒(méi)有成功。  回復(fù)  更多評(píng)論
            

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 聂荣县| 丹阳市| 环江| 新乐市| 金秀| 定远县| 盐津县| 天长市| 射洪县| 石棉县| 开阳县| 鹤庆县| 重庆市| 青海省| 沙雅县| 新绛县| 洪洞县| 长丰县| 固镇县| 方山县| 宁南县| 麻城市| 方正县| 绿春县| 厦门市| 临泽县| 北碚区| 孟州市| 沂源县| 乐亭县| 琼海市| 西宁市| 青州市| 平江县| 阜新| 永济市| 长丰县| 赣榆县| 开平市| 南宁市| 米易县|