JUnit - 測試套件

2021-05-22 17:48 更新

在實(shí)際項目中,隨著項目進(jìn)度的開展,單元測試類會越來越多,可是直到現(xiàn)在我們還只會一個一個的單獨(dú)運(yùn)行測試類,這在實(shí)際項目實(shí)踐中肯定是不可行的。為了解決這個問題,JUnit 提供了一種批量運(yùn)行測試類的方法,叫做測試套件。

這樣,每次需要驗證系統(tǒng)功能正確性時,只執(zhí)行一個或幾個測試套件便可以了。測試套件的寫法非常簡單,我們需要遵循以下規(guī)則:

  1. 創(chuàng)建一個空類作為測試套件的入口。
  2. 使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuiteClasses 修飾這個空類。
  3. 將 org.junit.runners.Suite 作為參數(shù)傳入注解 RunWith,以提示 JUnit 為此類使用套件運(yùn)行器執(zhí)行。
  4. 將需要放入此測試套件的測試類組成數(shù)組作為注解 SuiteClasses 的參數(shù)。
  5. 保證這個空類使用 public 修飾,而且存在公開的不帶有任何參數(shù)的構(gòu)造函數(shù)

新建JunitTestOne測試類:

package test;

import org.junit.Assert;
import org.junit.Test;

/**類描述:
 *@author: zk
 *@date: 日期:2018-6-6 時間:下午3:56:17
 *@version 1.0
 */

public class JunitTestOne {

    @Test
    public void test() {
        System.out.println("測試一。。。");  
        Assert.assertTrue(true);  
    }

}

新建JunitTestTwo測試類:

package test;

import org.junit.Assert;
import org.junit.Test;

/**類描述:
 *@author: zk
 *@date: 日期:2018-6-6 時間:下午3:58:56
 *@version 1.0
 */

public class JunitTestTwo {

    @Test
    public void test() {
         System.out.println("測試二。。。");  
         Assert.assertTrue(true);  
    }

}

新建測試套件類:

1

2

package test;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

/**類描述:
 *@author: zk
 *@date: 日期:2018-6-6 時間:下午4:00:06
 *@version 1.0
 */

@RunWith(Suite.class)
@SuiteClasses({ JunitTestOne.class,JunitTestTwo.class })
public class AllTests {

}

3

測試通過,控制臺輸出:

 1095747-20180605171316605-398931391

上例代碼中,我將2個測試類放入了測試套件 AllTests 中,在 Eclipse 中運(yùn)行測試套件,可以看到2個測試類被調(diào)用執(zhí)行了。測試套件中不僅可以包含基本的測試類,而且可以包含其它的測試套件,這樣可以很方便的分層管理不同模塊的單元測試代碼。

注意:一定要保證測試套件之間沒有循環(huán)包含關(guān)系,否則無盡的循環(huán)就會出現(xiàn)在我們的面前。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號