Тест моментального снимка 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",