序,Junit測試是單元測試的一個框架,提供了很多方法,供我們快速開展單元測試。現(xiàn)在讓我們慢慢學(xué)習(xí)Junit單元測試框架
一、Junit的三個核心概念測試類、測試集、測試運行器
1 測試類
公共的,包含一個無參構(gòu)造函數(shù),含有一個或幾個測試方法(@Test注釋)。沒有為測試類定義測試集時,JUnit自動提供一個測試集。
2 測試集
把多個相關(guān)測試歸入一組,可以使一個測試類,也可以包含多個測試類。
3 測試運行器
執(zhí)行測試集的程序,JUnit4提供了一些測試運行器,如下:
二、使用參數(shù)化運行器Parameterized運行測試的例子
舉一個org.junit.runners.Parameterized的例子:
在這個例子中,可以指定運行器為Parameterized,測運行器的特點是允許你使用不同的參數(shù)多次運行同一個測試。
解釋:
1 必須使用@RunWith注釋,并且Parameterized.class為參數(shù)值
2 聲明變量
3 提供一個用@Parameters注釋的方法
。。。未完待續(xù)。
package com;
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.Parameters;
import org.junit.runners.Parameterized;
@RunWith(value = Parameterized.class)//指定測試運行器
public class ParameterizedTest {
private double expected;
private double valueOne;
private double valueTwo;
@Parameters
public static Collection<Integer[]> getTestParameters() {
return Arrays.asList(new Integer[][] { { 2, 1, 1 }, { 3, 2, 1 },
{ 4, 3, 1 } });
}
public ParameterizedTest(double expected, double valueOne, double valueTwo) {
this.expected = expected;
this.valueOne = valueOne;
this.valueTwo = valueTwo;
}
@Test
public void sum(){
APP app = new APP();
assertEquals(expected,app.getSum(valueOne, valueTwo),0);
System.out.println("--");
}
}