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

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

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

    cerulean

    DBUnit的使用

    DBUnit擴展自JUnit.在使用DBUnit之前,為了驗證自己編寫的涉及數據庫操作方法的正確性,每次都要執行一個簡單的sql腳本,灌些數據,然后人眼觀察著數據表中的數據.然后,代碼執行完畢后,再次觀察數據變化情況.久而久之,表里面的數據就變得雜亂,一般會全部刪除,重新來過.
    ??? DBUnit的目標正是保證數據庫數據環境的穩定性,具備將數據庫中數據與xml文件之間雙向轉換的能力.
    試驗了一下,

    首先,下載dbunit的jar包,加入工程即可.
    1.從xml中將數據導入數據庫表
    tc不再繼承自TestCase,而是繼承DatabaseTestCase
    覆蓋幾個方法,包括獲得xml文件內容,獲得DB連接,以及在setup方法和teardown方法中調用提供的dbunit操作類型,構建數據庫內數據環境.

    這時,我以為如果只有幾個簡單的數據,寫xml固然簡單,但想測試大數據量時(雖然UT主要是測試功能而非性能,但是大數據量也方便驗證)就有點問題,好在是雙向的,可以先把數據用function灌入數據庫,再導進xml里面:

    2.從數據庫表數據導入xml文件
    ??? 用ant+DBUnit來完成這個任務非常方便!

    < target? name ="export" >
    ????????
    < taskdef? name ="dbunit" ?classname ="org.dbunit.ant.DbUnitTask" ?classpathref ="compile.path" ? />
    ????????
    < dbunit? driver ="com.mysql.jdbc.Driver" ?url ="jdbc:mysql://127.0.0.1:3306/mydb" ?userid ="root" ?password ="root" ?supportBatchStatement ="true" >
    ????????????
    < export? dest ="${test.srcpath}/export.xml" > ????????????????
    ????????????????
    < query? name ="test_table" ?sql ="SELECT?*?FROM?test_table" ? /> ????????
    ????????????????
    < table? name ="user_table" ? />
    ????????????
    </ export >
    ????????
    </ dbunit >
    ????
    </ target >


    ??? 疑問,看到有人說DBUnit在清除數據時,有時不能徹底,原因是分析不出來外鍵等表之間的約束.因為在試驗中采用的數據庫里沒啥表之間的約束,所以還沒有體會到.

    ??? DatabaseTestCase類提供了兩個方法來控制測試前和測試后的數據庫狀態:getSetUpOperation() 和 getTearDownOperation().???????
    ??? 一種高效的實施方案就是讓getSetUpOperation()方法執行REFRESH操作,通過這個操作,我們可以用種子文件中的數據去更新目標數據庫里的數據。
    ??? 接下來,就是getTearDownOperation(),讓他去執行一個NONE操作,也就是什么也不執行
    ??? 常用操作:
    ??? DatabaseOperation.CLEAN_INSERT;?先刪除表中所有,再插入準備的數據
    ??? DatabaseOperation.REFRESH;?使用準備數據更新表,存在則update,不存在則insert
    ??? DatabaseOperation.DELETE;??只刪除準備的數據
    ??? DatabaseOperation.NONE;??啥都不做

    posted on 2007-03-20 20:59 cerulean 閱讀(1808) 評論(0)  編輯  收藏 所屬分類: JavaTesting Related

    導航

    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人免费视频| 免费无码黄网站在线看| 免费h片在线观看网址最新| 久久亚洲国产中v天仙www | 成人免费毛片观看| 亚洲乱码在线视频| 日本人的色道免费网站| 亚洲国产人成在线观看| 免费福利视频导航| 亚洲色欲色欱wwW在线| 国产精品成人无码免费| 免费福利在线观看| a级亚洲片精品久久久久久久| 伊人久久大香线蕉免费视频| 老司机亚洲精品影院| 999国内精品永久免费观看| 亚洲三级在线观看| 免费又黄又硬又爽大片| 中文字幕在线免费视频| 亚洲专区先锋影音| 成年性羞羞视频免费观看无限| 亚洲国产精品美女久久久久| 亚洲精品无码久久不卡| 久章草在线精品视频免费观看| 亚洲欧洲春色校园另类小说| 精品免费国产一区二区| 国产成人精品免费视频大全| 亚洲一区综合在线播放| 成人毛片免费观看| 人妻18毛片a级毛片免费看| 亚洲综合一区二区精品导航| 青青草国产免费久久久91| 国产99精品一区二区三区免费| 水蜜桃亚洲一二三四在线| 蜜臀91精品国产免费观看| av午夜福利一片免费看久久| 亚洲小说图片视频| 亚洲黄片手机免费观看| 国产精品免费网站| 一个人看的www视频免费在线观看 一个人看的免费观看日本视频www | 色播在线永久免费视频网站|