【讀書筆記】Junit實戰

Junit實戰讀書筆記

第一章節

探索Junit:
Junit是1997年Erich Gammay和Kent Beck一同建立的一個簡單有效的測試框架,其中Erich Gammay是經典《設計模式》的四大做者之一,而BentBeck是《極限編程》的創造者編程

安裝Junit:直接引入對應的jar包設計模式

編寫第一個測試:
可以使用main模擬對應的測試case,而後使用System.out的模式進行處理,可是後期項目龐大的時候,就沒有辦法掌控住對應的局面了,因而有了這樣一個框架。可以對輸入參數,前期準備、執行測試、測試返回進行斷言,對超時,對異常進行全面的處理。針對單一的方法。網絡

運行測試:
使用對應的方法執行框架

第二章節

  1. 使用核心Junit類
Junit概念 責任
Assert 讓你去定義想要測試的條件,當條件成立是,assert保持沉默;單條件不成立的時候,拋出異常
測試 一個以Test註釋的方法定義的一個測試。爲了運行這份方法,JUnit會建立一個包含類的新實例,而後調用這個被註釋的方法
測試類 一個測試類是Test方法的容器
Suite測試集合 suite容許將測試類歸類成一組
Runner運行器 Runner類用來運行測試。Junit4是向後兼容的,能夠運行Junit3的測試

運行參數化測試:Parameterized(參數化)的測試運行器容許你使用不一樣的參數去屢次容許同一個測試代碼。單元測試

測試運行器:Junit的測試運行器測試

目的
org.junit.internal.runners.Junit38ClassRunner 這個運行器包含在當前的JUnit版本中,僅僅是爲了向後兼容,他將測試用例做爲JUnit3.8的測試用例來啓動
org.junit.runner.Junit4 這個運行器將測試用例做爲JUnit4的測試用例來啓動
org.junit.urnners.Parameterized 這個測試運行器可使用不一樣參數來運行相同的測試集
org.junit.runners.Suite Suite是一個包含不一樣測試的容器,同事Suite也是一個運行器,能夠運行一個測試類中的全部以Test註釋的方法
  1. 理解Junit的機制

JunitCore facade外觀模式(org.junit.runner.JunitCore),他能夠運行任何測試運行器,並收集測試結果以及統計信息ui

設計模式實踐:設計模式
facade是一種設計模式,它爲子系統的一組接口提供了一個統一的接口,facade定義了一個更高級別的接口,使得子系統更易於使用。你可使用facade來將一些複雜的對象交互簡化成一個單獨的接口。
而且可以自定義測試運行器,只要擴展Runner類便可設計

使用sutie來組合測試類
組合一組測試集合code

  1. 理解Junit的生命週期

生命週期
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass -> 結束對象

第三章節

  1. 實現一個簡單的應用程序
    模擬一個網絡應用的控制層面的代碼,而且模擬測試
  2. 使用Junit測試這個應用程序
  3. 遵循Junit最佳實踐
    測試的異常處理
    在Test中可以處理對應的異常,若是拋出對應異常,也算測試經過
    測試超時處理
    在測試方法中設定timeout,若是測試事後,之後不須要進行超時設置,就創造忽略的註解

Junit最佳實踐:

  1. 一次只能單元測試一個對象
  2. 選擇有意義的測試方法名字
  3. 在assert調用中解釋失敗的緣由
  4. 一個單元測試等於一個Test方法
  5. 測試任何可能失敗的事物
  6. 讓測試改善代碼
  7. 使異常測試更易於閱讀
  8. 老是爲跳過測試說明緣由
相關文章
相關標籤/搜索