【发布时间】:2019-05-01 19:42:16
【问题描述】:
所以我试图在我的测试中模拟一个日期,这就是我所做的:
const mockDate = new Date('2018-01-01');
const backupDate = Date;
beforeEach(() => {
(global.Date as any) = jest.fn(() => mockDate);
})
afterEach(() => {
(global.Date as any) = backupDate;
jest.clearAllMocks();
});
const backupDate = Date;
(global.Date as any) = jest.fn(() => mockDate);
expect(myModule).toMatchSnapshot();
(global.Date as any) = jest.fn(() => backupDate);
所以我本地的这个测试运行良好,并且与我的快照相匹配:
exports[`should match with date`] = `
[MockFunction] {
"calls": Array [
Array [
Object {
"myDate" : "Mon Jan 01 2018 01:00:00 GMT+0100 (Central European Standard Time)"
}]]}
但在生产环境中我得到了这个,这导致测试失败:Mon Jan 01 2018 01:00:00 GMT+0100 (CET)
知道有什么问题吗?
【问题讨论】:
标签: javascript node.js unit-testing mocking jestjs