qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          用YAML構建數據測試DAO層

          測試DAO層最常見的就是直接組織數據,調用相關的方法,然后查看數據庫,看看相關數據是否在DB中正確的展示。這樣測試,效率低下,容易出錯,過多的依賴了人肉。如果選擇測試數據來配置,根據配置的測試數據驗證相關信息,或許能夠達到事半功倍的效果。
            測試數據配置選擇(YAML)
            在JavaBean中,傳統的對象set是這樣的:
            對象屬性多時,對象的set顯得有些復雜,自動代碼生成工具生成的代碼較多都是set數據的,代碼看起來不夠雅觀,需要把測試數據和測試代碼分離。可以提供參考的又xml,wiki的方式。xml的方式讀取大家都比較清楚,這里介紹一下wiki:
            wiki語法
            |table|表名稱|
            |字段名稱1|字段名稱2|字段名稱3|
            |字段值|字段值|字段值|
            |字段值|字段值|字段值|
            |字段值|字段值|字段值|
            通過wiki配置的方式,和表字段一一對應,看起來比較直觀,只是在字段較多時容易造成混淆,同時需要自己寫代碼支持wiki語法,框架級別的支持不夠。xml配置也麻煩,數據閱讀也不夠直觀。
            yaml簡單,直觀,方便閱讀,java支持框架(http://yaml.org/)較多,所以選擇yaml來配置測試數據。和TestNg保持一致,使用snakeyaml (http://code.google.com/p/snakeyaml/)
            測試過程:
            測試數據包括BaseDao對DB的基本操作:insert , update , find , findById , list , listCount , delete。由于findById和delete都是只有一個字段,所以測試數據基本生成只有insert , update ,delete , list這四個,業務模塊可以根據自己的需求添加相關的Dao層測試數據。
            測試修改示例:
           說明:
            字段會自動轉換成需要類型,所以long設置后面不用加L
            為空的數據不用設置,也不用刪除相關的屬性(尤其是insert,后面可以作為復制粘貼的參考)
            時間設置createdTime: 2011-09-23 15:03:17
            數據讀取的代碼
            讀取yaml配置文件數據,放置到map中的代碼:
            子類中測試代碼
            調用data中的屬性,獲取到相關對象
            User user = data.get("insert");
            代碼生成工具如果用yaml配置,徹底分離了測試數據準備和代碼,會讓測試更加簡單!

          posted on 2014-04-01 11:26 順其自然EVO 閱讀(756) 評論(0)  編輯  收藏


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


          網站導航:
           
          <2014年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 仪征市| 阿瓦提县| 五指山市| 新蔡县| 油尖旺区| 通州市| 阳山县| 马鞍山市| 临泽县| 黔南| 班戈县| 屏山县| 龙胜| 巴林左旗| 常熟市| 阿克| 刚察县| 息烽县| 廉江市| 彝良县| 武平县| 繁峙县| 麻阳| 彭山县| 鹰潭市| 灵台县| 百色市| 霍林郭勒市| 龙岩市| 凤山县| 吕梁市| 东安县| 新竹县| 建湖县| 北碚区| 安岳县| 武冈市| 奎屯市| 沧州市| 喀喇沁旗| 武义县|