Junit 测试用例(NextDate)

rushm 2008-11-16 08:16:32
被测试类(NextDate问题,相信很多人做过。。还有几个其他类,没贴出)

public class Date {
private Day d;
private Month m;
private Year y;

public Date(int pMonth, int pDay, int pYear) {
y = new Year(pYear);
m = new Month(pMonth, y);
d = new Day(pDay, m);
}

public void increment() {
if (!d.increment()) {
if (!m.increment()) {
y.increment();
m.setMonth(1, y);
}
d.setDay(1, m);
}
}

public void printDate() {
System.out.println(m.getMonth() + "/" + d.getDay() + "/" + y.getYear());
}
public String getDate(){
return m.getMonth() + "/" + d.getDay() + "/" + y.getYear();
}
}


需要的测试用例很多,要编写大量的单元测试方法,可这些测试方法都是大同小异:代码结构都是相同的,不同的仅仅是测试数据和期望值。
于是我想用参数化测试 org.junit.runners.Parameterized

import static org.junit.Assert.assertEquals;

import java.util.Arrays;
import java.util.Collection;

import nextdate.Date;

import org.junit.Test;
import org.junit.runner.JUnitCore;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(Parameterized.class)
public class DateTest {

private static String expected;
private static int target;

/**
* 构造函数
* @param expected
* 期望的测试结果,对应参数集中的第一个参数
* @param target
* 测试数据,对应参数集中的第二个参数
*/
public DateTest(String expected, int target) {

this.expected = expected;
this.target = target;
}

@Parameters
public static Collection dates() { //问题就在这个静态方法,里边调用外部类,去static
Date date0 = new Date(6, 15, 2000); //又不行,该怎么修改???
Date date1 = new Date(2, 29, 2000);
Date date2 = new Date(2, 28, 2001);
Date date3 = new Date(3, 30, 2000);
Date date4 = new Date(4, 30, 2000);
date0.increment();
date1.increment();
date2.increment();
date3.increment();
date4.increment();

return Arrays.asList(new Object[][] {
{ "6/16/2000", date0.getDate()},
{ "3/1/2000", date1.getDate() },
{ "2/29/2000", date2.getDate() },
{ "3/31/2000", date3.getDate() },
{ "5/1/2000", date4.getDate()},

});
}

@Test
public void increment() {
assertEquals(expected,target);
}

public static void main(String[] args) {
JUnitCore.main(new String[] { "DateTest" });

}
}


小弟菜,请各位老大指教,给出测试类完整代码,不胜感激!!
...全文
1450 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
llion520 2012-06-12
  • 打赏
  • 举报
回复
能不能写一下TNG的测试用例啊~~~~~还有求完整的Junit测试代码啊~~~~谢谢
ppmeng123 2011-05-30
  • 打赏
  • 举报
回复
为什么复制到我的软件商就用不了
Sweet_CoCo 2011-05-05
  • 打赏
  • 举报
回复
mark
「已注销」 2009-01-18
  • 打赏
  • 举报
回复
绑定
rushm 2008-11-19
  • 打赏
  • 举报
回复
对啊,这都看错。傻傻的
zhou02607 2008-11-17
  • 打赏
  • 举报
回复
那个静态方法没看出什么错误。

你那个target应该为String类型吧。
liguangwen86 2008-11-17
  • 打赏
  • 举报
回复
帮顶一下!!

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧