多層架構下的單元測試_第1頁
多層架構下的單元測試_第2頁
多層架構下的單元測試_第3頁
多層架構下的單元測試_第4頁
多層架構下的單元測試_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、多層架構下的單元測試Agenda單元測試的好處單元測試適合的場所單元測試工具比較容易測試的架構MockTDD好的單元測試所具有的品質 技術研發部2單元測試的好處保證代碼功能和我們的預期一致測試所有邊界情況越來越完善的bug庫有了單元測試,盡情重構吧歡迎變化。新增修改功能?不怕,有單元測試使程序降低耦合所有的一切,目的只有一個:提高質量不寫單元測試的借口編寫單元測試太花時間了出來混的,遲早是要還的。運行測試的時間太長了測試代碼并不是我的工作代碼太復雜了,依賴太多,不能做單元測試哪些項目最適合單元測試平臺類庫性質的項目規模大的,需要長時間維護的正確性要求極高的項目哪些代碼需要測試?UI層UI Bu

2、siness業務層數據層是否需要測試私有方法?我的經驗:只需要測公開方法.net下單元測試工具NUnitMSTestNCoverTest-DrivenMockSample:一個簡單的單元測試例子看代碼,瞄一眼就可以了!單元測試的前提程序層次結構清楚層間解耦外部依賴小最最糟糕的被測方法業務代碼混在UI層方法中數據庫操作混在業務代碼中外部依賴很多一個比較容易測試的架構該架構的優點橫向開發各層可各自為政低耦合:如果用IOC的話,則編譯時無耦合安全的數據層:ORMapping開始我們的測試之旅UI層的測試不需要具體的業務實現可以看到在不同業務下的UI表現關鍵字: 靜態Mock請看代碼示例開始我們的測試

3、之旅業務層的測試不需要具體的數據層不需要UI層來驗證關鍵字: 動態Mock請看代碼示例Mock是否必須?業務層的測試,為了去除依賴,mock是必須的。但在使用每一個Mock前,請想想,是否可以通過重構,擺脫這個依賴。流行的TDD到底是先有代碼,后有測試;還是先有測試,再有代碼?這是個問題!據我的經驗,一上來啥代碼都沒有,就寫測試,估計就是兩眼一抹黑,對著屏幕發愣。個人建議:先定好接口,然后對于具體實現,就可以使用TDD流行的TDD讓我們TDD一把!請看代碼示例好的單元測試所具有的品質:自動化關鍵字:人工干預(比如需要網絡連接、數據庫等),通過Mock,去除干預。關鍵字:DailyBuild 。 。(有機會再講)請看郵件樣例好的單元測試所具有的品質:徹底的關鍵字:測試覆蓋率(Ncover),根據情況制定覆蓋率標準。關鍵字:維護Bug請看覆蓋率示例好的單元測試所具有的品質:可重復、獨立的關鍵字:各測試獨立,可隨意重復執行。每個測試每次執行應該結果一致。比如:有些新增操作,不能僅僅支持一遍好的單元測試所具有的品質:測試代碼大概有多少?如果你被測試的代碼是2w行,那么你的測試代碼不應該少于2w行!甚至更多!好的單元測試所具有的品質:對測試進行測試在修正bug的同時,一定要同時改進測試代碼驗明bug編寫一個失敗的測試,證明bug的存在修改代碼,讓測試通過驗證其他所有測試,應該都可以通過(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論