<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)  編輯  收藏 所屬分類: Java 、Testing Related

    導航

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

    統計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成年性生交大片免费看| 国产亚洲精品成人AA片新蒲金| 国产99久久亚洲综合精品| 亚洲午夜爱爱香蕉片| 久操视频免费观看| 亚洲精品乱码久久久久久V| 亚洲国产精品丝袜在线观看| 亚洲电影免费在线观看| 在线aⅴ亚洲中文字幕| 在线精品亚洲一区二区三区 | 成人福利免费视频| 免费观看亚洲人成网站| 西西人体44rt高清亚洲| 四虎影视永久免费观看网址| 一区二区三区四区免费视频 | 亚洲明星合成图综合区在线| 国产美女精品视频免费观看| 99免费精品视频| 亚洲国产精品成人AV在线 | 日本免费一本天堂在线| 国产激情免费视频在线观看| 久久水蜜桃亚洲AV无码精品| 91亚洲一区二区在线观看不卡| 免费a在线观看播放| 在线日本高清免费不卡| 国产97视频人人做人人爱免费| 丁香婷婷亚洲六月综合色| 亚洲精品亚洲人成人网| 国产真人无遮挡作爱免费视频| 全部免费毛片在线播放| 一区视频免费观看| 亚洲精品无码成人| 久久久亚洲欧洲日产国码是AV | 日韩色视频一区二区三区亚洲 | 亚在线观看免费视频入口| 人妻免费久久久久久久了| 亚洲精品无码人妻无码 | 免费一区二区三区| caoporm超免费公开视频| 亚洲AV综合色区无码一二三区| 亚洲国产精品综合久久网各|