序,Junit測(cè)試是單元測(cè)試的一個(gè)框架,提供了很多方法,供我們快速開展單元測(cè)試,F(xiàn)在讓我們慢慢學(xué)習(xí)Junit單元測(cè)試框架
一、Junit的三個(gè)核心概念測(cè)試類、測(cè)試集、測(cè)試運(yùn)行器
1 測(cè)試類
公共的,包含一個(gè)無(wú)參構(gòu)造函數(shù),含有一個(gè)或幾個(gè)測(cè)試方法(@Test注釋)。沒(méi)有為測(cè)試類定義測(cè)試集時(shí),JUnit自動(dòng)提供一個(gè)測(cè)試集。
2 測(cè)試集
把多個(gè)相關(guān)測(cè)試歸入一組,可以使一個(gè)測(cè)試類,也可以包含多個(gè)測(cè)試類。
3 測(cè)試運(yùn)行器
執(zhí)行測(cè)試集的程序,JUnit4提供了一些測(cè)試運(yùn)行器,如下:
二、使用參數(shù)化運(yùn)行器Parameterized運(yùn)行測(cè)試的例子
舉一個(gè)org.junit.runners.Parameterized的例子:
在這個(gè)例子中,可以指定運(yùn)行器為Parameterized,測(cè)運(yùn)行器的特點(diǎn)是允許你使用不同的參數(shù)多次運(yùn)行同一個(gè)測(cè)試。
解釋:
1 必須使用@RunWith注釋,并且Parameterized.class為參數(shù)值
2 聲明變量
3 提供一個(gè)用@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)//指定測(cè)試運(yùn)行器
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("--");
}
}