Javascript 测试中的假日期对象

Fake Date object in Javascript test

本文关键字:日期 对象 假日 测试 Javascript      更新时间:2023-09-26

我使用buster.js我想测试一个函数,从出生年份返回一个人的年龄。我的测试如下所示:

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

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

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

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

如果getAgeFromYearDate正常工作,则可以假定getAgeFromYear正常工作。