【发布时间】:2018-06-30 19:56:28
【问题描述】:
出于测试目的,我想将我的自定义时间设置(模拟)到 Node.js 服务器。像这样的:
console.log(new Date());
// Sat Jun 30 2018 20:00:00 GMT+0100
// ^^
someFunctionToSetTime('Sat Jun 30 2018 12:00:00 GMT+0100')
// ^^
console.log(new Date());
// Sat Jun 30 2018 12:00:00 GMT+0100
// ^^
我该怎么做?
附:我真的不想伪造Date 类。
【问题讨论】:
-
诗浓的假定时器很适合这个:sinonjs.org/releases/v6.0.1/fake-timers
-
为什么不直接使用带参数的
Date构造函数呢?即var d = new Date(2018,06,30, 12, 00); -
因为它是关于模拟当前用户的时间。在实际代码中它只是调用
new Date(),但在测试中它需要返回一个模拟值。
标签: javascript node.js mocking