<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Anderson Malheiro de Carvalho</title>
    <description>The latest articles on DEV Community by Anderson Malheiro de Carvalho (@andersonmalheiro).</description>
    <link>https://dev.to/andersonmalheiro</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F294033%2Fda6a1bfe-ea14-4598-a64b-a02249204658.png</url>
      <title>DEV Community: Anderson Malheiro de Carvalho</title>
      <link>https://dev.to/andersonmalheiro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andersonmalheiro"/>
    <language>en</language>
    <item>
      <title>Testes com Jest - Primeiros passos</title>
      <dc:creator>Anderson Malheiro de Carvalho</dc:creator>
      <pubDate>Thu, 14 Jul 2022 21:43:45 +0000</pubDate>
      <link>https://dev.to/andersonmalheiro/testes-com-jest-primeiros-passos-1l7p</link>
      <guid>https://dev.to/andersonmalheiro/testes-com-jest-primeiros-passos-1l7p</guid>
      <description>&lt;p&gt;Todo programador em algum momento da sua carreira se depara com o desafio de escrever testes para o seu código. Quando chega esse momento provavelmente você pensará: “Como diabos eu vou fazer isso?”. Sim, escrever testes não é uma tarefa fácil, principalmente quando você está começando nesse mundo.&lt;/p&gt;

&lt;p&gt;A habilidade de testar códigos é uma das mais importantes quando você está procurando um novo emprego na área de desenvolvimento. Vai por mim, (digo isso por experiência própria), saber escrever testes vai te dar vários pontos a mais naquele processo seletivo que você tanto almeja passar.&lt;/p&gt;

&lt;p&gt;Mas enfim, sem mais delongas, vamos ao que interessa. Provavelmente você está pensando: &lt;strong&gt;“Anderson, então você está me dizendo que eu preciso escrever mais código para testar meu código?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9kcjrq8neg75sesmxtfz.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9kcjrq8neg75sesmxtfz.jpeg" alt="desconfiado" width="180" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sim, é isso mesmo, você vai escrever código para testar o teu código. (Tem uma galera que é meio maluca e escreve testes para testar se os testes estão implementados 🤔).&lt;/p&gt;

&lt;p&gt;Nessa série de posts vou tentar fazer uma introdução aos testes, focados nas linguagens Javascript e TypeScript com o framework &lt;strong&gt;Jest.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Na área de testes temos um conceito chamado &lt;strong&gt;Pirâmide de Testes&lt;/strong&gt;, introduzido por Mike Cohn no seu livro &lt;em&gt;Succeeding with Agile&lt;/em&gt;. Essa pirâmide agrupa os tipos de testes pela sua complexidade e custo, dos mais simples na base aos mais complexos e custosos no topo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F844x9ptr0zef87dm5bk9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F844x9ptr0zef87dm5bk9.jpg" alt="Pirâmide de testes" width="420" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No base da pirâmide temos os testes unitários. Como da para imaginar, esses testes são focados em unidades pequenas do código como funções, classes ou componentes, verificando se essas unidades funcionam como deveriam, retornam os resultados esperados e assim por diante. No próximo nível temos os testes de serviço ou testes de integração, onde checamos como várias partes do sistema se comportam em conjunto, como vários componentes ou se uma API consegue obter dados de um banco. Por fim, na última camada temos os testes end-to-end ou E2E, onde testamos a aplicação como um todo, executando fluxos e checando se funcionam como deviam.&lt;/p&gt;

&lt;p&gt;No nosso caso, vamos focar nos testes unitários por enquanto. Vamos lá!&lt;/p&gt;

&lt;p&gt;Para configurar o seu projeto para utilizar o Jest como ferramenta de testes primeiramente precisamos adicioná-lo como dependência no projeto com o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# com npm&lt;/span&gt;
npm i &lt;span class="nt"&gt;--save-dev&lt;/span&gt; jest

&lt;span class="c"&gt;# ou com yarn&lt;/span&gt;
yarn add &lt;span class="nt"&gt;-D&lt;/span&gt; jest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O próximo passo é adicionar um script no &lt;code&gt;package.json&lt;/code&gt; para executar nossos testes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"test"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"jest"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pronto! Com isso já conseguimos executar nossos testes.&lt;/p&gt;

&lt;p&gt;Tá, mas e agora, como escrevo um teste? 🤔&lt;/p&gt;

&lt;p&gt;Basicamente o Jest entende como arquivos de teste arquivos com extensão &lt;code&gt;.spec.js&lt;/code&gt; ou &lt;code&gt;.test.js&lt;/code&gt;, mas por fins de organização e compatibilidade vamos utilizar a extensão &lt;code&gt;.test.js&lt;/code&gt; pois normalmente os testes E2E feitos com &lt;strong&gt;Cypress&lt;/strong&gt; utilizam a primeira forma por padrão.&lt;/p&gt;

&lt;p&gt;Então vamos supor que você tenha uma função bem simples que soma 2 valores, assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// sum.js&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para implementar um teste, o Jest oferece basicamente dois métodos que permitem testar algo, que são o &lt;code&gt;it()&lt;/code&gt; e o &lt;code&gt;test()&lt;/code&gt;. Ambos funcionam da mesma forma e recebem os mesmos dois argumentos, uma string com a descrição do teste e uma função de callback com a implementação do teste. A única coisa que deve se levar em consideração na hora de escolher qual dos dois utilizar é a forma como você vai escrever a descrição do teste, para que fique mais legível e de acordo com o método escolhido. Por exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// na leitura ficaria: "deve somar dois números"&lt;/span&gt;
&lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;should sum two numbers&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{...})&lt;/span&gt;

&lt;span class="nx"&gt;ou&lt;/span&gt;

&lt;span class="c1"&gt;// na leitura ficaria: "testa se essa função soma dois números"&lt;/span&gt;
&lt;span class="nf"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;if this function sum two numbers&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{...})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sacou? A diferença está basicamente na leitura do código. Você deve se atentar a escrever uma sentença que faça sentido na hora de ler junto com o método, pois os testes também podem ajudar no entendimento do funcionamento do sistema 😉.&lt;/p&gt;

&lt;p&gt;Continuando, como vimos o método  recebe uma &lt;strong&gt;descrição&lt;/strong&gt; e uma &lt;strong&gt;função de callback&lt;/strong&gt; como argumentos. Nessa função devemos implementar o nosso teste e, para um teste ser realmente um teste, nós devemos obviamente testar algo 😬. Se liga:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./sum&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;should add 2 + 2 and return 4&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Se escrevemos só isso, nosso teste não checa nada, só chama a função e pronto. Para fazer realmente testar algo o Jest nos provê mais um método, chamado &lt;code&gt;expect()&lt;/code&gt; que faz essas asserções pra nós. Sendo assim, nosso código deveria ficar desta forma:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./sum&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;should add 2 + 2 and return 4&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toEqual&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O método &lt;code&gt;expect()&lt;/code&gt; recebe um argumento que seria o valor ou expressão que você quer checar e oferece várias funções de verificação que são chamadas em cadeia e você deve utilizá-las para checar algo relacionado àquele valor. No nosso caso utilizamos a função &lt;code&gt;toEqual()&lt;/code&gt; que recebe um argumento, o valor esperado, e checa se o parâmetro passado no &lt;code&gt;expect&lt;/code&gt; é igual a ele.&lt;/p&gt;

&lt;p&gt;E assim escrevemos o nosso primeiro teste. Bem simples não é?&lt;/p&gt;

&lt;p&gt;É isso galera. Nos próximos posts vou trazer mais conceitos e dicas sobre o funcionamento do Jest ✌.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>testing</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Testando datas mais facilmente com Jest</title>
      <dc:creator>Anderson Malheiro de Carvalho</dc:creator>
      <pubDate>Thu, 30 Jun 2022 14:01:05 +0000</pubDate>
      <link>https://dev.to/andersonmalheiro/testando-datas-mais-facilmente-com-jest-18cp</link>
      <guid>https://dev.to/andersonmalheiro/testando-datas-mais-facilmente-com-jest-18cp</guid>
      <description>&lt;p&gt;Quem desenvolve em Javascript | Typescript (e outras linguagens também 😜) sabe a dor de cabeça que é trabalhar com datas.&lt;/p&gt;

&lt;p&gt;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). &lt;/p&gt;

&lt;p&gt;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 &lt;code&gt;new Date('2022-05-21')&lt;/code&gt; e tentar utilizar algum método como &lt;code&gt;.toString()&lt;/code&gt;, 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.&lt;/p&gt;

&lt;p&gt;Exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2022-05-21&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;// deveria retornar Sat May 21 2022 00:00:00&lt;/span&gt;
&lt;span class="c1"&gt;// mas retorna Fri May 20 2022 21:00:00&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;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. &lt;/p&gt;

&lt;p&gt;Vamos lá. 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 &lt;code&gt;globalJestSetup.ts&lt;/code&gt; e ele terá uma simples função exportada como default.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6igpue5to76yatx9crb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6igpue5to76yatx9crb.png" alt="globalJestSetup.ts" width="800" height="664"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nesse arquivo estamos simplesmente dizendo para o Jest sempre utilizar a timezone UTC, assim ao trabalhar com datas não haverá o problema de termos o valor diferente dependendo da timezone.&lt;/p&gt;

&lt;p&gt;Feito isso agora só precisamos adicionar esse arquivo nas configurações do Jest (no arquivo jest.config) como mostrado na imagem abaixo, utilizando o atributo &lt;code&gt;globalSetup&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkmwxm3khtjrosw4xxzch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkmwxm3khtjrosw4xxzch.png" alt="jest.config.ts" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lembrando que o nome que você deu ao arquivo deve ser igual ao usado na configuração do Jest.&lt;/p&gt;

&lt;p&gt;E é basicamente isso. Agora ao fazer seus testes, as datas sempre terão o valor que você esperava hehe, independente do ambiente em que eles sejam executados.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bônus:&lt;/strong&gt;&lt;br&gt;
Você pode adicionar um teste que verifica se essa configuração funcionou realmente:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F152xmsvgf79v4uigiya1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F152xmsvgf79v4uigiya1.png" alt="timezone.test.ts" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>jest</category>
      <category>node</category>
      <category>typescript</category>
    </item>
  </channel>
</rss>
