這一節(jié)我們將學(xué)習進行批量處理,假如我們有多的測試,怎樣進行批量處理,請跟著我做。
---------------------------------------------
假如我們寫了兩個被測程序。如下:
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:她是我的偶像嘻嘻:)
}
}
------------------------------------測試類-------------------------
下面要對上面的兩個類寫測試類。(關(guān)于測試類的創(chuàng)建的方法,不懂的可以看我的第一篇《junit淺學(xué)筆記一》)
TTest.java 對應(yīng)的是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 對應(yīng)的是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.

這種方式設(shè)置簡單,但靈活度不高,假如有100個測試類。我只想運行其中的某幾個測試類。下面看第二中方式。
方法二
方法引入一種“測試套件”的概念,JUnit提供了一種批量運行測試類的方法,叫測試套件。
測試套件的寫法需要遵循以下原則:
1. 創(chuàng)建一個空類作為測試套件的入口;
2. 使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuitClasses 修飾這個空類
3. 將org.junit.runners.Suite作為參數(shù)傳入給注解RunWith,以提示Junit為此類測試使用套件運行器執(zhí)行。
4. 將需要放入此測試套件的測試類組成數(shù)組作為注解SuiteClasses的參數(shù)
5. 保證這個空類使用public修飾,而且存在公開的不帶任何參數(shù)的構(gòu)造函數(shù)
下面在測試包(com.junit4.cc.test)下面創(chuàng)建一個測試類,內(nèi)容如下:
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 {
}
創(chuàng)建之后的列表:

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

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