我有以下方法返回date类型的值。
1)我需要使用JUnit来测试结果,但问题是我不知道如何为我的JUnit方法的expResult变量赋值。
2)另一个问题是,如果我想针对无效输入测试方法,我应该定义一个新的测试方法,还是应该在同一个方法中提供错误和正确的输入?
public Date convertStringToDate(String date) {
try {
Date convertedDate = new SimpleDateFormat("yyyy-MM-dd").parse(date);
return convertedDate;
} catch (ParseException p) {
System.err.println(p.getMessage());
}
return null;
}
@Test
public void testConvertStringToDate() {
System.out.println("convertStringToDate");
String date = "Tue Apr 29 00:00:00 EST 2014";
DateProcess instance = new DateProcess();
Date expResult = null;
Date result = instance.convertStringToDate(date);
assertEquals(expResult, result);
}
答案 0 :(得分:1)
使用日历类创建日期对象。
设置日历对象并为其指定预期时间,然后调用其getTime方法。
Calendar rightNow = Calendar.getInstance();
rightNow.set(year, month, date, hourOfDay, minute, second);
expectedData = rightNow.getTime();
其中时间参数是整数。然后,获取时间应返回所需的自定义日期。如果不清楚某些内容http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html
,请查看API以获取更多信息回答你的第二个问题:我个人定义了一种新方法。无效输入是不同的测试用例。