小编Set*_*amp的帖子

如何模拟像New Date()这样的构造函数

我有一个方法,它依赖于new Date创建一个日期对象,然后操纵它.我正在测试操作是否按预期工作,因此我需要将返回的日期与预期日期进行比较.为了做到这一点,我需要确保new Date在测试和被测试的方法中返回相同的值.我怎样才能做到这一点?

有没有办法实际模拟构造函数的返回值?

我可以使用提供日期对象的函数创建一个模块,并且可以进行模拟.但这似乎是我代码中不必要的抽象.

一个要测试的示例函数......

module.exports = {
  sameTimeTomorrow: function(){
    var dt = new Date();
        dt.setDate(dt + 1);
    return dt;
  }
};
Run Code Online (Sandbox Code Playgroud)

我该如何模拟返回值new Date()?

javascript jestjs

18
推荐指数
5
解决办法
2万
查看次数

标签 统计

javascript ×1

jestjs ×1