javascript - 我可以使用 Moment.js 分配什么“现在”吗?
问题描述
我正在使用 moment.js 并且我想编写一个测试,上面写着“如果你没有传递日期,它会返回now()
”。问题是,每次测试运行时,now()
都会得到不同的结果。在其他库中,您可以设置now()
将返回的内容以用于测试目的。moment.js 是否提供了一种方法来做到这一点?我一直在谷歌搜索,没有找到任何结果表明你是否可以这样做。
解决方案
Timekeeper ( https://www.npmjs.com/package/timekeeper ) 正好满足了这一需求。
它覆盖了日期构造函数(即在幕后使用的时刻),因此它也适用于时刻。
您可以执行以下操作:
const timekeeper = require('timekeeper');
const freezeDate = new Date();
timekeeper.freeze(freezeDate);
// in your test
expect(result).to.equal(freezeDate);
推荐阅读
- python - 名称 self 未定义
- javascript - Firefox中的角度日期管道解析错误“222-02-01”
- hibernate - 保存时未发生 Spring data jpa Constraint Violation 异常
- c# - 如何仅计算包含许多其他字符的非常长的字符串中的字母(Aa-Zz)?
- android-recyclerview - Recyclerview viewholder 项目点击渲染问题
- php - PDO 脚本中的 mySQL 语法问题
- python - 是否有查询以根据记录计数条件从 Sybase 表中检索数据
- sas - SAS 中的固定效应模型
- java - ExecutorService 在服务器类的每个实例中是静态的吗?
- javascript - Testcafe过滤功能