Javascript测试中的假日期对象

时间:2012-08-16 10:55:47

标签: javascript unit-testing

我使用buster.js并且我想测试一个函数,该函数从她的出生年份开始返回一个人的年龄。我的测试看起来像这样:

"Should get correct age from year": function () {
    assert(getAgeFromYear(1990) === 22);
}

这只会保持绿色直到2012年底。如何伪造buster.js中的日期对象,以便它在未来几年内有效?

1 个答案:

答案 0 :(得分:1)

创建一个函数getAgeFromYearDate(int, Date)并测试它。然后创建一个使用当前日期的函数getAgeFromYear(int)。该方法将如下所示:

function getAgeFromYear(year) {
    return getAgeFromYearDate(year, new Date());
}

如果getAgeFromYearDate正常工作,您可以假设getAgeFromYear正常工作。