JUnit四(引數化測試)
阿新 • • 發佈:2018-12-21
JUnit—引數化測試
一.概述
JUnit 4引入了一項名為引數化測試的新功能。引數化測試允許開發人員使用不同的值反覆執行相同的測試。建立引數化測試需要遵循五個步驟:
-
使用@RunWith(Parameterized.class)註釋測試類。
-
建立一個使用@Parameters註釋的公共靜態方法,該方法返回一個物件集合作為測試資料集。
-
建立一個公共建構函式,它接受相當於一行“測試資料”的內容。
-
為測試資料的每個“列”建立一個例項變數。
-
使用例項變數作為測試資料的來源建立測試用例。
對於每行資料,將呼叫一次測試用例。讓我們看看引數化測試的實際效果。
二.示例程式碼:
1.建立目標類PrimeNumberChecker
public class PrimeNumberChecker {
public Boolean validate(final Integer primeNumber) {
for (int i = 2; i < (primeNumber / 2); i++) {
if (primeNumber % i == 0) {
return false;
}
}
return true;
}
}
2.建立測試類PrimeNumberCheckerTest
@RunWith(Parameterized.class) public class PrimeNumberCheckerTest { private Integer inputNumber; private Boolean expectedResult; private PrimeNumberChecker primeNumberChecker; @Before public void initialize() { primeNumberChecker = new PrimeNumberChecker(); } public PrimeNumberCheckerTest(Integer inputNumber, Boolean expectedResult) { this.inputNumber = inputNumber; this.expectedResult = expectedResult; } @Parameterized.Parameters public static Collection primeNumbers() { return Arrays.asList(new Object[][] { { 2, true }, { 6, false }, { 19, true }, { 22, false }, { 23, true } }); } @Test public void testPrimeNumberChecker() { System.out.println("Parameterized Number is : " + inputNumber); assertEquals(expectedResult, primeNumberChecker.validate(inputNumber)); } }