這一節我們將學習進行批量處理,假如我們有多的測試,怎樣進行批量處理,請跟著我做。
---------------------------------------------
假如我們寫了兩個被測程序。如下:
T.java
package com.junit4.cc;
publicclass T {
publicint add(int x ,int y){
return x+y;
}
publicstaticvoid main(String args[]){
int z=new T().add(3,5);
System.out.println(z);
}
}
User.java
package com.junit4.cc;
publicclass User {
public String geName(){
return"劉若英"; //PS:她是我的偶像嘻嘻:)
}
}
------------------------------------測試類-------------------------
下面要對上面的兩個類寫測試類。(關于測試類的創建的方法,不懂的可以看我的第一篇《junit淺學筆記一》)
TTest.java 對應的是T.java的測試類。
package com.junit4.cc.test;
importstatic org.junit.Assert.*;
import org.junit.Test;
import com.junit4.cc.*;
publicclass TTest {
@Test
publicvoid testAdd() {
int z=new T().add(5,3);
assertEquals(8,z);
}
}
UserTest.java 對應的是User.java
package com.junit4.cc.test;
importstatic org.junit.Assert.*;
import org.junit.Test;
import com.junit4.cc.User;
publicclass UserTest {
@Test
publicvoid testGeName() {
assertEquals(new User().geName(),("劉若英"));
}
}
完成之后的列表如下:

要批量運行上面兩個測試類,有兩個方法。
方法一
右鍵點擊測試包“com.junit4.cc.test”--->Run As--->Run Configurations.

這種方式設置簡單,但靈活度不高,假如有100個測試類。我只想運行其中的某幾個測試類。下面看第二中方式。
方法二
方法引入一種“測試套件”的概念,JUnit提供了一種批量運行測試類的方法,叫測試套件。
測試套件的寫法需要遵循以下原則:
1. 創建一個空類作為測試套件的入口;
2. 使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuitClasses 修飾這個空類
3. 將org.junit.runners.Suite作為參數傳入給注解RunWith,以提示Junit為此類測試使用套件運行器執行。
4. 將需要放入此測試套件的測試類組成數組作為注解SuiteClasses的參數
5. 保證這個空類使用public修飾,而且存在公開的不帶任何參數的構造函數
下面在測試包(com.junit4.cc.test)下面創建一個測試類,內容如下:
AllTest.java
package com.junit4.cc.test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({
TTest.class,
UserTest.class //這里自由加入需要運行的測試類
})
publicclass AllTest {
}
創建之后的列表:

運行AllTest.java的結果(這里,兩個方法的運行結果是一樣的):

ps:關于兩種方式的比較,第一種方法簡單,只用選擇測試包,就可以批量運行里面的所有測試程序。第二種方式還有重新創建一個測試類,但它非常靈活,只用在這個類中加入需要運行的類就可以靈活的運行需要測試的類。