Junit單元測試概念(測試語言Java)

一、單元測試概念

1. 什麼是的單元測試

  • 單元測試是針對最小的功能單元編寫測試代碼
  • java程序最小的功能單元式方法
  • 單元測試就是針對單個Java方法的測試

2. 使用main()方法測試的缺點

  • 只能有一個main()方法,不能把測試代碼分離
  • 沒有打印出測試結果和期望結果
    例如: expected:63533,but actual:89653
  • 那麼此時就需要一種測試框架,幫助我們編寫測試

3. 單元測試的好處

  • 確保單個方法運行正常
  • 如果修改了方法代碼,只需要確保其對應的單元測試通過
  • 測試代碼本身就可以作爲示例代碼
  • 可以自動化所有測試並獲得報告

4. JUnit介紹

  • JUnit是一個開源的Java語言的單元測試框架
  • 專門針對Java語言設計,使用最廣泛
  • JUnit是實際上的標準單元測試框架

4. JUnit特點

  • 使用斷言(Assertion)測試期望結果
  • 可以方便地組織和運行測試
  • 可以方便地查看測試結果
  • 常用IDE(例如Eclipse)都集成了JUnit
  • 可以方便的集成到Maven

5. JUnit的設計

  • TestCase:一個TestCase表示一個測試
  • TestSuite:一個TestSuite包含一組TestCase,表示一組測試
  • TestFixture:一個TestFixture表示一個測試環境
  • TestResult:用於收集測試結果
  • TestRunner:用於運行測試
  • TestListener:用於監聽測試過程,收集測試數據
  • Assert:用於斷言測試結果是否正確

6. 使用Assert斷言

  • 斷言相等:assertEquals(期望值,測試結果)
  • 斷言數組相等:assertArrayEquals((1,2,3),x)
  • 浮點數斷言相等:assertEquals(3.1412,X,0.00001)
  • 斷言爲null:assertNull(x)
  • 斷言爲true/false:assertTrue(x>0) assertFalse(x<0)
  • 其他:assertNotEquals/assertNotNull

7. Junit單元測試需要注意的點

  • 一個TestCase包含一組相關的測試方法
  • 使用Assert斷言測試結果(注意浮點數assertEquals要指定delta)
  • 每個測試方法必須完全獨立
  • 測試代碼必須非常簡單
  • 不能爲測試代碼再編寫測試
  • 測試需要覆蓋各種輸入條件,特別是邊界條件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章