我有一个依赖于new Date
创建日期对象然后对其进行操作的方法。我正在测试操作是否按预期工作,因此我需要将返回的日期与预期日期进行比较。为此,我需要确保new Date
在测试和正在测试的方法中返回相同的值。我怎样才能做到这一点?
有没有办法真正模拟构造函数的返回值?
我可以创建一个模块,该模块可能需要一个提供日期对象并且可以模拟的函数。但这在我的代码中似乎是不必要的抽象。
要测试的示例函数...
module.exports = {
sameTimeTomorrow: function(){
var dt = new Date();
dt.setDate(dt + 1);
return dt;
}
};
我如何模拟的返回值new Date()
?