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