JUnit單元測試(二) JUnit基礎

2021-06-13 12:03:16 字數 1463 閱讀 6323

junit單元測試(二)--junit基礎

1、基礎介紹

1.junit是一種測試**的框架,測試的目的是:保證**沒錯,而不是保證**正確。

2.測試類一般不要和目標類放在一起,但編譯成的class檔案是放在一起的,這樣可以保證產品**與測試**分離,互不影響。

3.單元測試主要是來測試程式的結果和自己期望的值是否相等。

2、junit測試框架目前大體分為兩種(junit 3.8 和 junit 4.x)

2.1、junit 3.8

涉及到的包一般是 import junit.framework.*

在 junit 3.8 中,測試類要繼承testcast類,而testcast類又繼承於assert類,測試方法需滿足如下原則:

1)修飾符設為 public

2)返回型別 void

3)沒有方法引數

4)方法名稱必須以test開頭

5)測試類都繼承於testcase類

另外,使用過程中,測試類不能依賴於測試方法的執行順序

在新建的測試類中,有兩個方法需要強調一下:

setup方法和testdown方法:都是testcase類的方法

1)setup方法是在執行每個測試方法之前執行的,可以做一些初始化的工作,例如類例項宣告。

2)testdown方法是在執行每個測試方法之後執行的,例如在此銷毀物件。

2.2、junit 4

涉及到的包是 import org.junit.*

在junit 4 當中測試類無需繼承於 testcase類,測試方法的名字也無需以test開頭,主要以註解的方式來定義,只要在測試方法加上@test就可以進行測試,但有些原則還是會以junit3 的風格來設計,比如測試方法以test開頭,習慣問題吧,

•@test :定義乙個測試方法的標誌

•@test(timeout=1000) :設定超時時間,如果測試時間超過了你定義的timeout,測試失敗

•@test(expected) : 申明出會發生的異常,比如 @test(expected = exception.class)

•@before : 跟junit 3.8 上的setup() 方法同樣的效果,方法名最好和setup()一樣,但不強求,在每乙個測試方法之前被執行

•@after : 跟junit 3.8 上的teardown() 方法同樣的效果,方法名最好和teardown()一樣,但不強求,在每乙個測試方法之後被執行

•@beforeclass : 被該註解申明的方法,功能是:在所有的測試方法之前執行,只執行一次

•@afterclass : 被該註解申明的方法,功能是:在所有的測試方法之後執行,只執行一次

•@ignore :讓 測試方法 或 測試類 不被執行,讓其失去測試的功能

Junit 單元測試

測試類package com.lin.music item import android.content.contentresolver import android.content.context import android.database.cursor import android.net....

Junit單元測試

最近在寫一模組的 不能再像原來一樣不認真考慮測試了,因為看看junit如何寫單元測試,這裡作一些筆記。2.關於使用junit的目的。主要有四種 摘自某參考資料。對此,我覺得我是想測試某個類中的某幾個方法,因為覺得這幾個方法比較容易出問題,不過這樣是顯得有些不嚴謹了。其實往往測關鍵方法的時候,其中也都...

Junit單元測試

書寫規範 包 寫在.test包下或者.junit包下 類命名規範 xxtest 測試方法規範 命名規範 test xx 其他規範 返回值為void 空參如何使用junit單元測試?在需要測試的方法上加上 test註解,ctrl 1導包 test public void testgetclient j...