Тест моментального снимка Jest завершается неудачно с @mui/x-date-pickers, другая временная метка в моментальном снимке

Мы обновили последнюю версию средства выбора даты Mui. И теперь у нас возникла странная проблема с неудачным снимком теста в нашем конвейере CI.

В нашем Jest-тесте мы устанавливаем фиксированную дату следующим образом:

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

Этот тест выполняется локально, но при запуске в конвейере CI он завершается неудачно, поскольку значение метки времени данных отличается:

      <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"
                        >

На снимке вы можете видеть, что используется правильная дата для отображения средства выбора даты. Только значение временной метки не является ожидаемым. Я что-то пропустил?

1 ответ

Я нашел решение: недостаточно только установить фиксированное время, потому что границы дня зависят от часового пояса. Поэтому мне нужно установить фиксированную дату И установить фиксированный часовой пояс (в packages.json), чтобы все заработало.

В тесте:

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

И в package.json:

      "test": "set TZ=America/New_York && react-scripts test",
Другие вопросы по тегам