【发布时间】:2020-04-15 09:06:14
【问题描述】:
我的 React 组件中有这个代码片段,它最终会呈现一个 HTML:
new Date(createDate).toLocaleDateString()
我的本地机器和我们的构建机器设置了不同的语言环境,所以这个函数的结果是不连贯的。如您所料,单元测试在我的机器上通过,在构建机器上失败,反之亦然。
我想模拟“toLocalDateString”,以便它始终使用相同的语言环境,例如“en-US”,或者至少它总是返回相同的字符串。我们的测试框架是开玩笑的。我该如何实现这个目标?
我在我的 test.spec.js 中尝试了这个,但它根本没有任何效果:
Date.prototype.toLocaleDateString = jest.fn().mockReturnValue('2020-04-15')
expect(component).toMatchSnapshot()
我仍然在快照中得到相同的旧 toLocalDateString 实现,我的 mockReturnValue 没有被考虑在内。
【问题讨论】:
标签: javascript reactjs unit-testing jestjs