Jest快照测试失败,@mui/x-date-pickers,快照中的时间戳不同

rn0zuynd  于 2023-09-28  发布在  Jest
关注(0)|答案(1)|浏览(110)

我们更新到最新的Mui日期选择器。现在我们有一个奇怪的问题,在我们的CI管道中失败的快照测试。
在我们的Jest测试中,我们像这样设置一个固定的日期:
jest.useFakeTimers().setSystemTime(new Date('04 Dec 1995 00:12:00 GMT').getTime());
此测试在本地成功,但在CI管道中运行时失败,因为data-timestamp值不同:

<button
                          aria-colindex="6"
                          aria-selected="false"
                          class="MuiButtonBase-root MuiPickersDay-root MuiPickersDay-dayWithMargin css-qa7bje-MuiButtonBase-root-MuiPickersDay-root"
                          data-timestamp="817772400000"
                          role="gridcell"
                          tabindex="-1"
                          type="button"
                        >

在快照中,您可以看到使用了正确的日期,以显示日期选择器。只有时间戳值不是预期值。我错过了什么吗?

vddsk6oq

vddsk6oq1#

我找到了解决方案,只设置一个固定的时间是不够的,因为白天寄宿生取决于时区。因此,我必须设置固定的日期并设置固定的时区(在packages.json中)才能使其工作。
在测试中:

jest.useFakeTimers().setSystemTime(new Date('04 Dec 1995 00:12:00 GMT').getTime());

在packages中。json:

"test": "set TZ=America/New_York && react-scripts test",

相关问题