如何使用JUnit测试方法?

时间:2014-07-16 14:18:36

标签: java junit

我有以下方法返回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);

    }

1 个答案:

答案 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以获取更多信息

回答你的第二个问题:我个人定义了一种新方法。无效输入是不同的测试用例。