參數(shù)化測(cè)試代碼如下所示;
package xw.calculatortest;
import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import xw.calculator.Calculator;
@RunWith(Parameterized.class)
public class SquareTest {
private static Calculator calculator = new Calculator();
private int param;
private int result;
@Parameters
public static Collection data() {//定義測(cè)試數(shù)據(jù)的集合
return Arrays.asList(new Object[][] { { 2, 4 }, { 0, 0 }, { -3, 9 }, });
}
// 構(gòu)造函數(shù),對(duì)變量進(jìn)行初始化,參數(shù)的順序與數(shù)據(jù)集成的順序相關(guān)
public SquareTest(int param, int result) {
this.param = param;
this.result = result;
}
// 復(fù)原操作,表明對(duì)每個(gè)Test方法測(cè)試以后都會(huì)進(jìn)行這個(gè)方法操作。
@Before
public void setUp() throws Exception {
calculator.clear();// 結(jié)果清零
}
@Test
public void testSquare() {
calculator.square(param);
assertEquals(result, calculator.getResult());
}
}
打包測(cè)試
考慮另外一種場(chǎng)景,如果一個(gè)項(xiàng)目中有許多個(gè)測(cè)試類(lèi),一個(gè)一個(gè)去運(yùn)行會(huì)非常繁瑣,這個(gè)時(shí)候可以考慮使用打包測(cè)試。將所有需要運(yùn)行的測(cè)試類(lèi)集中起來(lái),一次性的運(yùn)行完畢,大大的方便了我們的測(cè)試工作。
右鍵Calculator類(lèi),新建一個(gè)JUnit Test Suite,如下圖所示。
然后選擇需要打包測(cè)試的測(cè)試類(lèi),如下圖所示:
打包測(cè)試類(lèi)叫做AllTests,需要打包測(cè)試的三個(gè)測(cè)試類(lèi)是CalculatorTest,SquareTest和test。點(diǎn)擊Finish完成打包測(cè)試,生成的打包測(cè)試類(lèi)大嗎如下:
package xw.calculatortest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ CalculatorTest.class, SquareTest.class, test.class })
public class AllTests {
}
運(yùn)行結(jié)果如下:
原文出處:http://www.cnblogs.com/xwdreamer