五、 參數(shù)化測試。
你可能遇到過這樣的函數(shù),它的參數(shù)有許多特殊值,或者說他的參數(shù)分為很多個區(qū)域。比如,一個對考試分數(shù)進行評價的函數(shù),返回值分別為“,良好,一般,及格,不及格”,因此你在編寫測試的時候,至少要寫5個測試,把這5中情況都包含了,這確實是一件很麻煩的事情。我們還使用我們先前的例子,測試一下“計算一個數(shù)的平方”這個函數(shù),暫且分三類:正數(shù)、0、負數(shù)。測試代碼如下:
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
public class AdvancedTest ...{
private static Calculator calculator = new Calculator();
@Before
public void clearCalculator() ...{
calculator.clear();
}
@Test
public void square1() ...{
calculator.square(2);
assertEquals(4, calculator.getResult());
}
@Test
public void square2() ...{
calculator.square(0);
assertEquals(0, calculator.getResult());
}
@Test
public void square3() ...{
calculator.square(-3);
assertEquals(9, calculator.getResult());
}
}