stone2083

          單元測試分享

          最近,在小組內部做了一次關于“單元測試”的分享。把自己兩年來做單元測試遇到的問題和對單元測試的認識做了一次總結和討論。

          本文不會詳細地講述分享的內容,僅僅是ppt的大綱顯示:

          使用單元測試前提:
          最小的成本,換來最大的收益

          單元測試目的

          1)測試代碼錯誤(?) -- 不是主要目的
          2)便于重構時的測試
          3)改善既有代碼的設計

          分享核心
          1)如何脫離“webx“--做隔離測試
          2)dal/biz/web 層如何做單元測試
          3)如何通過改善代碼設計,更方便測試

          dal層(數據庫訪問層)特點:
          1)獨立,邏輯單一,對表做操作
          2)業務相對比較穩定
          3)采用ibatis,寫sql的方式

          dal層測試方式
          1)壓根兒就不需要測試
          2)僅僅配置spring bean,通過日志打印的方式(無法達到自檢)
          3) 自檢方式 -- AbstractTransactionalDataSourceSpringContextTests (高成本,不輕易使用)
          需要權衡

          biz(業務層)測試方式--分BO和AO:
          BO:(即所謂的Service/Manager)
          AO:(一個UseCase對應的業務流)
          隔離 + 設計 (主要通過代碼演示--見附件)

          單元測試的缺點
          專注于單一業務測試,銜接點容易出錯

          解決方案
          接口輸入輸出明確
          集成測試

          web層:
          集成測試的入口

          分享文檔和演示代碼 (ppt是在ubuntu下制作,可能效果并不是很好)

          備注:
          自己對單元測試了解也比較膚淺,歡迎一起探討

          posted on 2008-07-17 22:04 stone2083 閱讀(463) 評論(0)  編輯  收藏 所屬分類: java

          主站蜘蛛池模板: 黑河市| 尉犁县| 繁峙县| 沙坪坝区| 靖安县| 武乡县| 阿拉善左旗| 利辛县| 永吉县| 湘潭县| 海淀区| 姜堰市| 宁海县| 固镇县| 邹平县| 秭归县| 德庆县| 黔江区| 衡山县| 枣阳市| 苏尼特右旗| 长沙县| 进贤县| 瓦房店市| 新平| 凤庆县| 兰考县| 家居| 叶城县| 伊川县| 沧州市| 桐梓县| 武义县| 大理市| 临漳县| 竹山县| 河池市| 甘谷县| 庄河市| 全州县| 彭州市|