創建套件測試

在本節中,我們將學習如何創建套件測試。測試套件是一些測試不同類用例,可以使用@RunWith和@Suite註解運行所有東西在一起。如果有很多測試類,想讓它們都運行在同一時間,而不是單一地運行每個測試,這是非常有用的。

當一個類被註解爲@RunWith, JUnit 將調用被在其中註解,以便運行測試類,而不使用內置的 JUnit 運行方法。

基於前面的章節中的類,我們可以創建兩個測試類。一個類將測試公共方法 prepareMyBag()和其他測試類將測試方法 addPencils()。因此,我們最終將有以下兩個類:

PrepareMyBagTest.java

package com.yiibai.junit;

import org.junit.Test;
import static org.junit.Assert.*;

public class PrepareMyBagTest {

FirstDayAtSchool school = new FirstDayAtSchool();

String\[\] bag = { "Books", "Notebooks", "Pens" };

@Test
public void testPrepareMyBag() {

    System.out.println("Inside testPrepareMyBag()");
    assertArrayEquals(bag, school.prepareMyBag());

}

}

AddPencilsTest.java

package com.yiibai.junit;

import org.junit.Test;
import static org.junit.Assert.*;

public class AddPencilsTest {

FirstDayAtSchool school = new FirstDayAtSchool();

String\[\] bag = { "Books", "Notebooks", "Pens", "Pencils" };

@Test
public void testAddPencils() {

    System.out.println("Inside testAddPencils()");
    assertArrayEquals(bag, school.addPencils());

}

}

現在,我們將創建一個測試套件,以便運行上面的類在一起。用鼠標右鍵單擊 test 源文件夾,並創建一個新的名爲SuiteTest.java 的Java類,使用下面的代碼:

SuiteTest.java

package com.yiibai.junit;

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

@RunWith(Suite.class)
@Suite.SuiteClasses({ PrepareMyBagTest.class, AddPencilsTest.class })
public class SuitTest {

}

使用@ Suite.SuiteClasses註解,你可以定義測試類,將被列入執行。

所以,如果用鼠標右鍵單擊測試套件並選擇 Run As -> JUnit Test, 兩個測試類與已經在@ Suite.SuiteClasses註解定義的順序執行。