JUnit - 測試套件

2021-05-22 17:48 更新

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

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

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

新建JunitTestOne測試類:

package test;

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

/**類描述:
 *@author: zk
 *@date: 日期:2018-6-6 時(shí)間:下午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 時(shí)間:下午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 時(shí)間:下午4:00:06
 *@version 1.0
 */

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

}

3

測試通過,控制臺輸出:

 1095747-20180605171316605-398931391

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

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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號