I JUnit4中的測試套件:
1、測試套件就是值測試類一起運行的。
寫一個測試套件的入口類,這個類裏不包含其他的方法
更改測試運行器Suite.class
將要測試的類作爲數組傳入到Suite.SuiteClasses({})
代碼實例:
創建三個JUnit測試類:
public class UnitTest1 {
@Test
public void test() {
System.out.println("test1 running...");
}
}
public class UnitTest2 {
@Test
public void test() {
System.out.println("test2 running...");
}
}
public class UnitTest3 {
@Test
public void test() {
System.out.println("test3 running...");
}
}
創建總測試類,使用註解方式將三個測試類同一到一個類方法中運行package me.timlong.util;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({UnitTest1.class, UnitTest2.class, UnitTest3.class})
public class MultiTest {
@Test
public void test() {
}
}
II JUnit4中的參數化設置
1、更改默認的測試運行器爲RunWith(Parameterized.class)。
2、聲明變量來存放預期值和結果值。
3、聲明一個返回值爲Collection的公共靜態方法,並使用Parameters進行修飾。
4、爲測試類聲明一個帶有參數的公共構造函數,並在其中爲之聲明變量賦值。
代碼實例:
package me.timlong.util;
import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class ParameterTest {
int expected = 0;
int input1 = 0;
int input2 = 0;
/*
* 構造方法爲聲明的變量賦值
*/
public ParameterTest(int expected, int input1, int input2) {
this.expected = expected;
this.input1 = input1;
this.input2 = input2;
}
@Parameters
public static Collection<Object[]> param(){
return Arrays.asList(new Object[][]{
{3, 1, 2},
{4, 2, 2}
});
}
/*
* 進行多組數據的測試
*/
@Test
public void testAdd() {
assertEquals(expected, new Calculate().add(input1, input2));
}
}
OK,技術進階需要不斷的練習,望每天進步一點!