首页 > 代码库 > 软件测试(三)—— 参数化测试用例(Nextday.java)

软件测试(三)—— 参数化测试用例(Nextday.java)

import static org.junit.Assert.*;import java.lang.reflect.Array;import java.util.Arrays;import java.util.Collection;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.Parameterized;import org.junit.runners.Parameterized.Parameters;//这个不可少@RunWith(value = Parameterized.class)public class NextdayTest {    private Date expected;        private Date value;        @Parameters    public static Collection<Object[]> getTestParameters() {                //有效等价类        Date d1 = new Date(5, 14, 2014);        Date d2 = new Date(5, 13, 2014);                //为负日期//        Date d3 = new Date(5, 0, 2014);//        Date d4 = new Date(5, -1, 2014);                //为零日期//        Date d5 = new Date(5, 1, 2014);//        Date d6 = new Date(5, 0, 2014);                //31号        Date d7 = new Date(8, 31, 2015);        Date d8 = new Date(8, 30, 2015);                Date d9 = new Date(7, 31, 2014);        Date d10 = new Date(7, 30, 2014);                Date d11 = new Date(7, 1, 2013);        Date d12 = new Date(6, 30, 2013);                //闰年        Date d13 = new Date(3, 1, 2004);          Date d14 = new Date(2, 29, 2004);                Date d15 = new Date(2, 29, 2004);        Date d16 = new Date(2, 28, 2004);                //400年是闰年        Date d17 = new Date(3, 1, 2000);        Date d18 = new Date(2, 29, 2000);                Date d19 = new Date(3, 1, 2013);        Date d20 = new Date(2, 28, 2013);                //被4整除,不被100整除         Date d23 = new Date(3, 1, 2100);        Date d24 = new Date(2, 28, 2100);                //到第二年        Date d21 = new Date(1, 1, 2014);        Date d22 = new Date(12, 31, 2013);                //下一个月        Date d25 = new Date(1, 31, 2013);        Date d26 = new Date(1, 30, 2013);                Date d27 = new Date(2, 1, 2013);        Date d28 = new Date(1, 31, 2013);                Date d29 = new Date(4, 1, 2014);        Date d30 = new Date(3, 31, 2014);                Date d31 = new Date(5, 1, 2014);        Date d32 = new Date(4, 30, 2014);        Date d33 = new Date(6, 1, 2014);        Date d34 = new Date(5, 31, 2014);        Date d35 = new Date(7, 1, 2014);        Date d36 = new Date(6, 30, 2014);                        //左为 expected, 右为 value        Object[][] date = new Object[][] {                {d1, d2},//                {d3, d4},//                {d5, d6},                {d7, d8},                {d9, d10},                {d11, d12},                {d13, d14},                {d15, d16},                {d17, d18},                {d19, d20},                {d21, d22},                {d23, d24},                {d25, d26},                {d27, d28},                {d29, d30},                {d31, d32},                {d33, d34},                {d35, d36}        };        return Arrays.asList(date);                }            //构造函数不要省略!    public NextdayTest(Date expected, Date value) {        super();        this.expected = expected;        this.value =http://www.mamicode.com/ value;    }    @Test    public void testNextDay() {                assertEquals(expected, Nextday.nextDay(value));            }}

 

软件测试(三)—— 参数化测试用例(Nextday.java)