软件测试(三)—— 参数化测试用例(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 = value;
} @Test
public void testNextDay() { assertEquals(expected, Nextday.nextDay(value)); } }
软件测试(三)—— 参数化测试用例(Nextday.java)的更多相关文章
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) ...
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...
- JAVA写JSON的三种方法,java对象转json数据
JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...
- Robot Framework 三种测试用例模式
1.三种测试用例模式 关键字驱动(keyword-driver).数据驱动(data-driver).行为驱动模式(behavior-driver) 2.关键字驱动(keyword-driver) ...
- 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API
https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...
- 《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)
1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助. 2.select 下拉框 2.1Select ...
- 《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.d ...
- 《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历多选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的多选按钮进行实战. 2.d ...
- 《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)
1.简介 前边几篇文章是宏哥自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子给小伙伴或童鞋们演示了一下如何自动化测试,这一篇宏哥在网上找了一个问卷调查,给小伙伴或童鞋们来演示一下.上 ...
- 《手把手教你》系列技巧篇(三十九)-java+ selenium自动化测试-JavaScript的调用执行-上篇(详解教程)
1.简介 在做web自动化时,有些情况selenium的api无法完成,需要通过第三方手段比如js来完成实现,比如去改变某些元素对象的属性或者进行一些特殊的操作,本文将来讲解怎样来调用JavaScri ...
随机推荐
- python apply()函数
python apply函数的具体的含义: apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数.args是一个包含将要提供 ...
- input value="值栈的值"
<input type="text" value="<s:property value="myp.begintime"/>" ...
- IT小小鸟 读书笔记
讲真的,整本书我并没有看完,翻阅了一下,然后小小的借鉴了一下! 首先设计你自己的进度条 进度条的设计是一个很多人都知道的故事:同样的耗时,如果不给任何进度提示,只是在完成之后才弹出一个完成消息,中间没 ...
- 继承&构造函数
子父类中的构造函数的特点. 在子类构造对象时,发现,访问子类构造函数时,父类也运行了. 为什么呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 子类的实例化过程:子类中所 ...
- Scrum 项目准备3.0
SCRUM 流程的步骤2: Spring 计划 1. 确保product backlog井然有序.(参考示例图1) 2. Sprint周期,一个冲刺周期,长度定为两周,本学期还有三个冲刺周期. Spr ...
- huawei oceanstor
华为产品:OceanStor 6000 V3系列 OceanStor 6800 V3 网页登入设备页面:https+ip+端口 资源分配界面: 首页: wwn为2100xxxxxxxx47e4,设 ...
- CCF——数列分段201509-1
问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数n,表示数列中整数的个数. 第二行包含n个整数a1, a2, …, an,表示 ...
- php框架中常用的设计模式
1.单例模式 //单例模式 class Demo { private static $obj; private function __construct() { } private function ...
- centOS 中安装 Redis
之前安装过了 jdk,mysql,tomcat,这次安装 Redis,最开始是将 redis 安装在 windows 下 run 的,这时安装在 Linux 里面试试. 1 . 首先得安装 c环境,用 ...
- [二十三]SpringBoot 之 redis
本文章牵涉到的技术点比较多:spring Data JPA.Redis.Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对以上这些技术点有一定的了解或者也可以先看看这篇文章 ...