建立套件測試


在本節中,我們將學習如何建立套件測試。測試套件是一些測試不同類用例,可以使用@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註解定義的順序執行。