JUnit 提供注解 org.junit.Ignore 用于暫時忽略某個測試方法,因為有時候由于測試環境受限,并不能保證每一個測試方法都能正確運行。例如下面的代碼便表示由于沒有了數據庫鏈接,提示 JUnit 忽略測試方法 unsupportedDBCheck:
@ Ignore(“db is down”)
@Test(expected=UnsupportedDBVersionException.class)
public void unsupportedDBCheck(){
……
}
但是一定要小心。注解 org.junit.Ignore 只能用于暫時的忽略測試,如果需要永遠忽略這些測試,一定要確認被測試代碼不再需要這些測試方法,以免忽略必要的測試點。
測試運行器
又一個新感念出現了——測試運行器,JUnit 中所有的測試方法都是由它負責執行的。JUnit 為單元測試提供了默認的測試運行器,但 JUnit 并沒有限制您必須使用默認的運行器。相反,您不僅可以定制自己的運行器(所有的運行器都繼承自 org.junit.runner.Runner),而且還可以為每一個測試類指定使用某個具體的運行器。指定方法也很簡單,使用注解 org.junit.runner.RunWith 在測試類上顯式的聲明要使用的運行器即可:
@RunWith(CustomTestRunner.class)
public class TestWordDealUtil {
……
}
顯而易見,如果測試類沒有顯式的聲明使用哪一個測試運行器,JUnit 會啟動默認的測試運行器執行測試類(比如上面提及的單元測試代碼)。一般情況下,默認測試運行器可以應對絕大多數的單元測試要求;當使用 JUnit 提供的一些高級特性(例如即將介紹的兩個特性)或者針對特殊需求定制 JUnit 測試方式時,顯式的聲明測試運行器就必不可少了。
測試套件
在實際項目中,隨著項目進度的開展,單元測試類會越來越多,可是直到現在我們還只會一個一個的單獨運行測試類,這在實際項目實踐中肯定是不可行的。為了解決這個問題,JUnit 提供了一種批量運行測試類的方法,叫做測試套件。這樣,每次需要驗證系統功能正確性時,只執行一個或幾個測試套件便可以了。測試套件的寫法非常簡單,您只需要遵循以下規則:
創建一個空類作為測試套件的入口。
使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuiteClasses 修飾這個空類。
將 org.junit.runners.Suite 作為參數傳入注解 RunWith,以提示 JUnit 為此類使用套件運行器執行。
將需要放入此測試套件的測試類組成數組作為注解 SuiteClasses 的參數。
保證這個空類使用 public 修飾,而且存在公開的不帶有任何參數的構造函數。
package com.ai92.cooljunit;
文章來源于領測軟件測試網 http://www.kjueaiud.com/