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