目标是模拟 javascript Date 对象,以便在我运行测试和评估快照时,快照并不总是失败。
我正在尝试为new Date
在 Vue 2.6.8 应用程序(这是一个 Typescript 项目)中利用构造函数的函数编写一个 Jest 测试。
我已经绑定了一个调用maxDate
组件的变量。它使用 getter 根据需要计算值。目标是限制日期选择器的可选范围。代码如下所示:
Vue模板:
<template>
<date-picker :max-date="maxDate" />
</template>
Vue类方法:
private get maxDate() {
return new Date();
}
开玩笑测试(匹配快照):
describe('Snapshots', () => {
test('snapshot 1', () => {
expect(component.vm.$el).toMatchSnapshot();
});
});
我的问题是:我如何防止我的快照失败,因为每次运行测试时日期都会改变?
例如,当我第一次运行测试并生成快照时,我在快照本身中得到了类似的东西。
首次运行(生成快照):
...
maxdate="Wed Oct 30 2019 12:27:08 GMT-0700 (Pacific Daylight Time)"
...
下次我运行测试时 - 确切地说是一分钟后 - 快照将失败,因为它将期待上一个日期,但现在正在获取不同的数据。
第二次运行(快照失败):
...
maxdate="Wed Oct 30 2019 12:28:08 GMT-0700 (Pacific Daylight Time)"
...