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

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

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

    風(fēng)人園

    弱水三千,只取一瓢,便能解渴;佛法無(wú)邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評(píng)論 - 56, 引用 - 0
    數(shù)據(jù)加載中……

    dbunit使用

     

    使用dbunit,可以幫助我們?cè)跍y(cè)試中維護(hù)數(shù)據(jù),也可以輔助我們的測(cè)試。

    首先當(dāng)然是下載dbunit, http://dbunit.sourceforge.net

    我測(cè)試用的是 MYSQL 5.0 。

    建立數(shù)據(jù)庫(kù):
    create table test1(
    id int not null auto_increment,
    user_name varchar(50),
    primary key(id)) engine=innodb;

    保存數(shù)據(jù)的xml文件:

    xml 代碼
    1. <dataset>  
    2.     <test1 user_name="tom"/>                
    3.     <test1 user_name="John"/>  
    4.     <test1 user_name="Rose"/>     
    5. </dataset>  

     

    首先建立一個(gè) JunitTest 的類(lèi):

    java 代碼
    1. public class Test2 extends TestCase {   
    2.   
    3.     protected void setUp() throws Exception {   
    4.   
    5.          }   
    6.   
    7.     protected void tearDown() throws Exception {   
    8.   
    9.          }   
    10.      
    11. }   

     

    我不喜歡繼承dbunit的類(lèi),所以我們?cè)贘unitTest 的類(lèi)里增加這個(gè)變量:

    java 代碼
    1. public class Test2 extends TestCase {   
    2.   
    3.     private IDatabaseTester databaseTester;   
    4.   
    5.     protected void setUp() throws Exception {   
    6.   
    7.          }   
    8.   
    9.     protected void tearDown() throws Exception {   
    10.   
    11.          }   
    12.      
    13. }   

     

    然后,我們可以該寫(xiě) setUp() 方法了,無(wú)非就是連接數(shù)據(jù)庫(kù),把數(shù)據(jù)倒入到表里。

    java 代碼
    1. protected void setUp() throws Exception {   
    2.        
    3.     databaseTester = new JdbcDatabaseTester("com.mysql.jdbc.Driver",   
    4.             "jdbc:mysql://127.0.0.1:3306/test""root""123");   
    5.        
    6.     IDataSet dataSet = getDataSet();   
    7.        
    8.     databaseTester.setDataSet( dataSet );   
    9.     databaseTester.onSetup();   
    10.   
    11. }   
    12.   
    13. protected IDataSet getDataSet() throws Exception   
    14.    {   
    15.        
    16.        return new FlatXmlDataSet(new FileInputStream(new File("dataset.xml")));   
    17.    }   

     

    然后是 tearDown 方法

    java 代碼
    1. protected void tearDown() throws Exception   
    2.    {   
    3.   
    4.     databaseTester.setTearDownOperation(DatabaseOperation.DELETE_ALL);   
    5.        databaseTester.onTearDown();   
    6.    }   

     

    好了,準(zhǔn)備工作完成了,下面開(kāi)始寫(xiě)測(cè)試方法。

    java 代碼
    1. public void test1() throws Exception{   
    2.        
    3.     ITable test1Table = databaseTester.getDataSet().getTable("test1");   
    4.     assertEquals(test1Table.getRowCount(), 3);   
    5.        
    6. }   

    這個(gè)方法就是測(cè)試 test1 表有多少條記錄

     

    java 代碼
    1. public void test2() throws Exception{   
    2.        
    3.     ITable test1Table = databaseTester.getConnection().createQueryTable("any_name",   
    4.             "select user_name from test1 where user_name='tom'");   
    5.        
    6.     assertTrue(test1Table.getRowCount()==1);   
    7.        
    8. }   

    這個(gè)方法測(cè)試是否有 user_name='tom' 這個(gè)記錄.

     

    那么自動(dòng)增加字段怎么辦呢?
    只要在 tearDown 里增加

    java 代碼
    1. databaseTester.setTearDownOperation(DatabaseOperation.TRUNCATE_TABLE);   

    就可以了!

    posted on 2007-09-16 20:41 風(fēng)人園 閱讀(1066) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Test


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产在线观看片a免费观看| 国产亚洲综合一区二区三区| 亚洲AV无码专区国产乱码4SE| 亚洲精品偷拍视频免费观看 | 日韩欧美亚洲国产精品字幕久久久| 亚洲国产精品午夜电影| 中文字幕亚洲免费无线观看日本 | 成人毛片18女人毛片免费96| 国产精品久久永久免费| 色影音免费色资源| 中文字幕av无码无卡免费| 成人影片麻豆国产影片免费观看 | 毛片免费在线播放| 最近免费中文字幕视频高清在线看| 和日本免费不卡在线v| 永久黄网站色视频免费观看| 最新69国产成人精品免费视频动漫| 日韩免费高清视频| mm1313亚洲精品无码又大又粗| 亚洲精品成人在线| 亚洲精品无码国产| 亚洲狠狠ady亚洲精品大秀| 99亚偷拍自图区亚洲| 美女被免费网站视频在线| 国产精品成人69XXX免费视频| 不卡视频免费在线观看| 三年片在线观看免费观看大全动漫| 91成人免费观看| 在线免费视频一区| 亚洲人成人无码网www国产| 国产亚洲精品xxx| 亚洲国产成人在线视频| 亚洲AV无码成人精品区日韩 | 久久久久亚洲AV成人无码网站| 亚洲第一成年网站大全亚洲| 亚洲AV无码无限在线观看不卡| 疯狂做受xxxx高潮视频免费| 手机看片国产免费永久| 波多野结衣中文字幕免费视频| 国产成人免费a在线资源| 狠狠色伊人亚洲综合成人|