Testando datas mais facilmente com Jest
3143 단어 jesttypescriptjavascriptnode
Uma coisa é certa, do juninho ao sênior em algum momento você vai precisar formatar uma data (e não vai saber 😬) ou vai ficar (muito) estressado porque o diabo da data que você criou está ficando com 3 horas a menos (kkk) .
O Primeiro problema é normal. Já o segundo se deve a forma como o Node trabalha com timezones. Nesse caso, ao criar um objeto Date com o comando
new Date('2022-05-21')
e tentar utilizar algum método como .toString()
, o Node vai trazer esse valor acrescido (ou subtraído) do valor timezone da nossa máquina (normalmente aqui no Brasil seria de -3 horas). Por isso ocorre de criarmos uma data e ao tentarmos exibí-la, o valor retornado ser a data do dia anterior às 21h.예:
const date = new Date('2022-05-21')
date.toString() // deveria retornar Sat May 21 2022 00:00:00
// mas retorna Fri May 20 2022 21:00:00
Para resolver esse problema na execução de testes com Jest e evitar programações alternativas 🤭, podemos fazer uma simples configuração que lhe salvará vários fios de cabelo.
바모스 라. Primeiramente precisamos criar um arquivo de configuração global para o jest (não é o jest.config). O nome não importa mas nesse exemplo vamos chamá-lo de
globalJestSetup.ts
e ele terá uma simples função exportada como default.Nesse arquivo estamos simplesmente dizendo para o Jest semper utilizar a timezone UTC, assim ao trabalhar com datas não haverá o problema de termos o valor diferente da timezone.
Feito isso agora só precisamos adicionar esse arquivo nas configurações do Jest (no arquivo jest.config) como mostrado na imagem abaixo, utilizando or atributo
globalSetup
:Lembrando que o nome que você deu ao arquivo deve ser igual ao usado na configuração do Jest.
E é basicamente isso. Agora ao fazer seus testes, as datas semper terão o valor que você esperava hehe, independente do ambiente em que eles sejam executados.
보너스:
다음 추가 포드 테스트 테스트는 실제 구성 기능을 검증하기 위한 것입니다.
Reference
이 문제에 관하여(Testando datas mais facilmente com Jest), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/andersonmalheiro/testando-datas-mais-facilmente-com-jest-18cp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)