java nextday_Nextday 参数化单元测试(测试用例)设计
一、首先簡單描述一下下載試題及配置試題的過程
配置環境:安裝Eclipse、JDK(1.7)、及考試插件 (net.mooctest....*.jar)等;
登錄系統:運行Eclipse: 【MoocTest】 --》【1. Login】--》輸入考試密碼(mooctest.net --> 我的任務 提供)。如下圖
下載試題:點擊上圖 菜單【2. Download】,下載試題(注意:一般選擇清空工作空間,如果試題不同名,也可以不清空)
微調環境:PS:這一步一般不是必須的(如果導航欄出現感嘆號,一般是因為環境配置不徹底),你可以微調考試環境,直至沒有感嘆號。一般問題出在JRE版本上,則可以選擇 build path, 對應的JRE 重新 Edit,選擇 1.7 版本的即可。
編寫測試用例: ctrl+N,選擇新建 Java --》Junit Test case --》設置路徑、文件名(即測試類名,一般命名規則:***Test.java, 這樣做的好處是易于記憶)。接下來在該文件中編寫測試用例。具體示例,如下面附錄1:代碼部分 .
測試用例設計要考慮覆蓋準則,語句覆蓋、分支覆蓋等
技巧,你可以多次提交,然后在結果分析部分查看還有哪些沒有被覆蓋到,進而補充測試用例。
運行測試:選擇 【MoocTest】 --》【3. Run】,運行結果如下圖所示:
PS:得分越高越好!
提交結果:選擇 【MoocTest】 --》【4. Submit】.
查看剩余時間:選擇 【MoocTest】 --》【5. Time】
附錄1: NextdayTest.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 CollectiongetTestParameters() { // 下面依次設計有效等價類、無效等價類等
//有效等價類
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);
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 = value;
}
@Test
public void testNextDay() {
assertEquals(expected, Nextday.nextDay(value));
}
}
總結
以上是生活随笔為你收集整理的java nextday_Nextday 参数化单元测试(测试用例)设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nap怎么读
- 下一篇: 什么会导致一个地区的人口负增长?