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 = value;
} @Test
public void testNextDay() { assertEquals(expected, Nextday.nextDay(value)); } }

软件测试(三)—— 参数化测试用例(Nextday.java)的更多相关文章

  1. 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

    摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) ...

  2. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  3. JAVA写JSON的三种方法,java对象转json数据

    JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...

  4. Robot Framework 三种测试用例模式

    1.三种测试用例模式 关键字驱动(keyword-driver).数据驱动(data-driver).行为驱动模式(behavior-driver) 2.关键字驱动(keyword-driver)   ...

  5. 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API

    https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...

  6. 《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)

    1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助. 2.select 下拉框 2.1Select ...

  7. 《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)

    1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.d ...

  8. 《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)

    1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历多选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的多选按钮进行实战. 2.d ...

  9. 《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)

    1.简介 前边几篇文章是宏哥自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子给小伙伴或童鞋们演示了一下如何自动化测试,这一篇宏哥在网上找了一个问卷调查,给小伙伴或童鞋们来演示一下.上 ...

  10. 《手把手教你》系列技巧篇(三十九)-java+ selenium自动化测试-JavaScript的调用执行-上篇(详解教程)

    1.简介 在做web自动化时,有些情况selenium的api无法完成,需要通过第三方手段比如js来完成实现,比如去改变某些元素对象的属性或者进行一些特殊的操作,本文将来讲解怎样来调用JavaScri ...

随机推荐

  1. python 读取blob

    for num in range(76802): # if num == 0: # c[num] = imagedata[0:4] # d[num] = struct.unpack('i', c[nu ...

  2. 【线段树维护复杂状态】Ryuji doesn't want to study

    https://nanti.jisuanke.com/t/31460 tree[rt].ans = tree[rt << 1].ans + tree[rt << 1 | 1]. ...

  3. 【状压dp】AC Challenge

    https://nanti.jisuanke.com/t/30994 把每道题的前置条件用二进制压缩,然后dp枚举所有可能状态,再枚举该状态是从哪一个节点转移来的,符合前置条件则更新. 代码: #in ...

  4. 字典树---2001 POJ Shortest Prefixes(找最短前缀)

    做的第一道字典树的题,算比较水的: -->>>:传送门 代码: #include <stdio.h> #include<stdlib.h> #define M ...

  5. Java中static关键字的作用和用法详细介绍

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何 ...

  6. 玩下软工项目,第一轮--全局Context的获取,SQLite的建立与增删改查,读取用户通话记录信息

    项目的Github地址:https://github.com/ggrcwxh/LastTime 采用基于git的多人协作开发模式 软件采用mvc设计模式,前端这么艺术的事我不太懂,交给斌豪同学去头疼了 ...

  7. Java 成员初始化顺序

    package com.cwcec.test; class Fu { int num = 5; //构造代码块 { System.out.println("Fu constructor co ...

  8. 微信小程序测试的策略和注意事项

    一.测试前准备(环境搭建) 1.前端页面 微信Web开发者工具安装.授权测试用的微信号可预览和调试小程序...可参考此文: 微信Web开发者工具-下载.安装和使用图解 2.管理后台 配置内网测试服务器 ...

  9. php框架中常用的设计模式

    1.单例模式 //单例模式 class Demo { private static $obj; private function __construct() { } private function ...

  10. HTML5资源站

    前端里:http://www.yyyweb.com/ http://www.cnblogs.com/html5tricks/p/3925844.html