{"id":2537,"date":"2023-10-25T17:07:02","date_gmt":"2023-10-25T20:07:02","guid":{"rendered":"https:\/\/blog.innovaconnect.com.br\/?p=2537"},"modified":"2023-10-25T17:07:03","modified_gmt":"2023-10-25T20:07:03","slug":"testes-de-integracao-em-javascript-com-supertest-e-jest","status":"publish","type":"post","link":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/","title":{"rendered":"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest"},"content":{"rendered":"\n<p><em>O Jest \u00e9 um framework para testes em javascript, recentemente postamos como criar testes unit\u00e1rios. Agora vamos ver como utiliz\u00e1-lo para criar testes de integra\u00e7\u00e3o para API\u2019s.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vis\u00e3o Geral<\/h2>\n\n\n\n<p>O Supertest \u00e9 uma biblioteca Node.js que ajuda os desenvolvedores a testar APIs. Essa biblioteca permite criar simula\u00e7\u00f5es de requisi\u00e7\u00f5es HTTP, dessa forma pode-se garantir que os endpoints desenvolvidos no back-end v\u00e3o entregar os resultados esperados.<\/p>\n\n\n\n<p>Recentemente, publicamos um artigo sobre testes unit\u00e1rios com Jest, l\u00e1 utilizamos apenas dados em mem\u00f3ria para testar os casos de uso. Agora vamos falar de testes de integra\u00e7\u00e3o, nessa etapa de teste vamos usar uma base de dados, executar migrations, inserir e modificar dados para validar a resposta dos nossos servi\u00e7os.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instala\u00e7\u00e3o<\/h2>\n\n\n\n<p>Para instala\u00e7\u00e3o do Supertest pode ser usado o gerenciador de pacotes yarn ou npm, ambos ir\u00e3o funcionar, aqui ser\u00e1 usado o yarn. Instale o Supertest:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"958\" height=\"376\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/instale-o-supertest.webp\" alt=\"\" class=\"wp-image-2538\" style=\"width:380px\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/instale-o-supertest.webp 958w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/instale-o-supertest-500x196.webp 500w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/instale-o-supertest-768x301.webp 768w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/instale-o-supertest-585x230.webp 585w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Configura\u00e7\u00e3o<\/h2>\n\n\n\n<p>Nos scripts, dentro do package.json pode-se passar uma environment indicando no script de teste onde o sistema precisa apontar a execu\u00e7\u00e3o, dessa forma:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"738\" height=\"376\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/apontar-execucao.webp\" alt=\"\" class=\"wp-image-2539\" style=\"width:380px\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/apontar-execucao.webp 738w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/apontar-execucao-500x255.webp 500w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/apontar-execucao-585x298.webp 585w\" sizes=\"(max-width: 738px) 100vw, 738px\" \/><\/figure>\n<\/div>\n\n\n<p>Assim, ao efetuar a conex\u00e3o com o banco de dados voc\u00ea poder\u00e1 indicar que a execu\u00e7\u00e3o dever\u00e1 ser feita em uma base diferente, ou seja, uma base pr\u00f3pria para testes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comandos importantes do Jest<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">describe(name, fn)<\/h3>\n\n\n\n<p>Cria um bloco que agrupa v\u00e1rios testes relacionados.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">beforeAll(fn, timeout)<\/h3>\n\n\n\n<p>Executa uma fun\u00e7\u00e3o antes que cada um dos testes neste arquivo seja executado. Com essa fun\u00e7\u00e3o podemos iniciar uma conex\u00e3o com o banco de dados e rodar as migrations da aplica\u00e7\u00e3o, dessa forma:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"958\" height=\"636\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/comando-beforeall.webp\" alt=\"\" class=\"wp-image-2541\" style=\"width:420px\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-beforeall.webp 958w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-beforeall-500x332.webp 500w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-beforeall-768x510.webp 768w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-beforeall-585x388.webp 585w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-beforeall-263x175.webp 263w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">afterAll(fn, timeout)&nbsp;<\/h3>\n\n\n\n<p>Executa uma fun\u00e7\u00e3o ap\u00f3s cada um dos testes deste arquivo completar. Nesta fun\u00e7\u00e3o podemos executar, por exemplo, a finaliza\u00e7\u00e3o da conex\u00e3o com o banco de dados e remo\u00e7\u00e3o de todas as tabelas.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"856\" height=\"636\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/comando-afterall.webp\" alt=\"\" class=\"wp-image-2542\" style=\"width:420px\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-afterall.webp 856w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-afterall-500x371.webp 500w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-afterall-768x571.webp 768w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/comando-afterall-585x435.webp 585w\" sizes=\"(max-width: 856px) 100vw, 856px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">expect(value)<\/h3>\n\n\n\n<p>\u00c9 usada toda vez que voc\u00ea quer testar um valor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e3o na massa<\/h2>\n\n\n\n<p><em>***Importante: no artigo sobre Jest <\/em><strong><em>acesse aqui (link para texto jest)<\/em><\/strong><em>, j\u00e1 mostramos como configurar o arquivo jest.config.ts. \u00c9 importante j\u00e1 ter ele configurado.<\/em><\/p>\n\n\n\n<p>Para efetuar um teste \u00e9 necess\u00e1rio criar um arquivo dentro de nossa aplica\u00e7\u00e3o de teste com o sufixo *.spec.ts. Est\u00e1 dispon\u00edvel no GitHub um projeto exemplo:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/eliasmendes10\/Innova-UnitTest?source=post_page-----da07499affaa--------------------------------\">https:\/\/github.com\/eliasmendes10\/Innova-UnitTest?source=post_page&#8212;&#8211;da07499affaa&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/a><\/p>\n\n\n\n<p>Como iremos agora efetuar testes de integra\u00e7\u00e3o, nosso foco s\u00e3o os controllers. Ent\u00e3o, nosso foco estar\u00e1 nas rotas, dentro do supertest deve ser importado uma fun\u00e7\u00e3o de \u201crequest\u201d.<\/p>\n\n\n\n<p>A fun\u00e7\u00e3o Request pode-se passar um http.Server, e ela tem a disposi\u00e7\u00e3o uma gama de possibilidades, como por exemplo, executar requisi\u00e7\u00f5es get, post, put etc.. executar autentica\u00e7\u00e3o, anexar arquivos e at\u00e9 enviar configura\u00e7\u00f5es espec\u00edficas no header da requisi\u00e7\u00e3o. Abaixo dois exemplos de teste POST:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"845\" height=\"1024\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/exemplos-teste-post-845x1024.webp\" alt=\"\" class=\"wp-image-2545\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplos-teste-post-845x1024.webp 845w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplos-teste-post-413x500.webp 413w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplos-teste-post-768x931.webp 768w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplos-teste-post-1267x1536.webp 1267w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplos-teste-post-1690x2048.webp 1690w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplos-teste-post-1170x1418.webp 1170w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplos-teste-post-585x709.webp 585w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplos-teste-post.webp 1784w\" sizes=\"(max-width: 845px) 100vw, 845px\" \/><\/figure>\n\n\n\n<p>No exemplo acima, estamos usando o Jest ent\u00e3o a estrutura de teste \u00e9 usada a fun\u00e7\u00e3o Describe para iniciar uma suite de testes. Depois foi utilizado a fun\u00e7\u00e3o beforeAll e AfterAll, para cria\u00e7\u00e3o do banco de dados e o gerenciamento da conex\u00e3o com o banco de dados.<\/p>\n\n\n\n<p>No bloco \u201cIt\u201d ou \u201ctest\u201d \u00e9 importante descrever bem o teste que est\u00e1 sendo executado, essa string ajudar\u00e1 na manuten\u00e7\u00e3o desse teste, j\u00e1 que ele \u00e9 retornado no console ap\u00f3s a execu\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Addon para VSCode Jest<\/h2>\n\n\n\n<p>Agora que voc\u00ea j\u00e1 viu sobre Jest e Supertest, que tal otimizar os processos? O VScode conta com um plugin Incr\u00edvel para o Jest. Ele ir\u00e1 automatizar a execu\u00e7\u00e3o dos testes, apontar blocos e linhas com problemas, cobertura de testes e retornos esperados e recebidos.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1245\" height=\"878\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/plugin-vscode-jest.webp\" alt=\"\" class=\"wp-image-2548\" style=\"aspect-ratio:1.417995444191344;width:780px;height:auto\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/plugin-vscode-jest.webp 1245w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/plugin-vscode-jest-500x353.webp 500w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/plugin-vscode-jest-768x542.webp 768w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/plugin-vscode-jest-1170x825.webp 1170w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/plugin-vscode-jest-585x413.webp 585w\" sizes=\"(max-width: 1245px) 100vw, 1245px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1360\" height=\"700\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/exemplo-erro-detectado-1-1360x700.webp\" alt=\"\" class=\"wp-image-2550\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplo-erro-detectado-1-1360x700.webp 1360w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplo-erro-detectado-1-500x257.webp 500w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplo-erro-detectado-1-768x395.webp 768w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplo-erro-detectado-1-1170x602.webp 1170w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplo-erro-detectado-1-585x301.webp 585w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/exemplo-erro-detectado-1.webp 1516w\" sizes=\"(max-width: 1360px) 100vw, 1360px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Report Coverage<\/h1>\n\n\n\n<p>Outra dica incr\u00edvel \u00e9 a utiliza\u00e7\u00e3o do code coverage que o pr\u00f3prio Jest gera, nele voc\u00ea conseguir\u00e1 avaliar criteriosamente a sua cobertura de testes. Ajustando apenas algumas linhas do arquivo jest.config.ts, voc\u00ea informa ao jest para gerar o relat\u00f3rio, onde quer que ele seja armazenado e quais arquivos quer que ele analise ou ignore usando o atributo \u201c<em>collectCoverageFrom<\/em>\u201d.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"988\" height=\"492\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/arquivo-index-report-coverage.webp\" alt=\"\" class=\"wp-image-2552\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/arquivo-index-report-coverage.webp 988w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/arquivo-index-report-coverage-500x249.webp 500w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/arquivo-index-report-coverage-768x382.webp 768w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/arquivo-index-report-coverage-585x291.webp 585w\" sizes=\"(max-width: 988px) 100vw, 988px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"987\" height=\"732\" src=\"https:\/\/blog.innspire.dev\/wp-content\/uploads\/2023\/10\/diagnostico-metodo-nao-atendido.webp\" alt=\"\" class=\"wp-image-2553\" srcset=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/diagnostico-metodo-nao-atendido.webp 987w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/diagnostico-metodo-nao-atendido-500x371.webp 500w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/diagnostico-metodo-nao-atendido-768x570.webp 768w, https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/diagnostico-metodo-nao-atendido-585x434.webp 585w\" sizes=\"(max-width: 987px) 100vw, 987px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>O Jest \u00e9 um framework para testes em javascript, recentemente postamos como criar testes unit\u00e1rios. Agora vamos ver como utiliz\u00e1-lo para criar testes de integra\u00e7\u00e3o para API\u2019s.<\/p>\n","protected":false},"author":5,"featured_media":2555,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[6],"tags":[34,25,36,41,42,44],"class_list":["post-2537","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento","tag-coding","tag-desenvolvimento","tag-desenvolvimento-de-sistemas","tag-javascript","tag-jest","tag-supertest"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest - Blog InnSpire<\/title>\n<meta name=\"description\" content=\"O Jest \u00e9 um framework para testes em javascript. Vamos ver como utiliz\u00e1-lo para criar testes de integra\u00e7\u00e3o para API\u2019s.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest - Blog InnSpire\" \/>\n<meta property=\"og:description\" content=\"O Jest \u00e9 um framework para testes em javascript. Vamos ver como utiliz\u00e1-lo para criar testes de integra\u00e7\u00e3o para API\u2019s.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog InnSpire\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-25T20:07:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-25T20:07:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/testes-integracao-javascript-supertest-jest.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1360\" \/>\n\t<meta property=\"og:image:height\" content=\"841\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"InnSpire Author\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnSpire Author\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/\"},\"author\":{\"name\":\"InnSpire Author\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#\\\/schema\\\/person\\\/571e55b97748333a75eefb26285461d0\"},\"headline\":\"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest\",\"datePublished\":\"2023-10-25T20:07:02+00:00\",\"dateModified\":\"2023-10-25T20:07:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/\"},\"wordCount\":686,\"publisher\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/testes-integracao-javascript-supertest-jest.webp\",\"keywords\":[\"coding\",\"desenvolvimento\",\"desenvolvimento de sistemas\",\"JavasCript\",\"Jest\",\"Supertest\"],\"articleSection\":[\"Desenvolvimento\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/\",\"url\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/\",\"name\":\"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest - Blog InnSpire\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/testes-integracao-javascript-supertest-jest.webp\",\"datePublished\":\"2023-10-25T20:07:02+00:00\",\"dateModified\":\"2023-10-25T20:07:03+00:00\",\"description\":\"O Jest \u00e9 um framework para testes em javascript. Vamos ver como utiliz\u00e1-lo para criar testes de integra\u00e7\u00e3o para API\u2019s.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/#primaryimage\",\"url\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/testes-integracao-javascript-supertest-jest.webp\",\"contentUrl\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/testes-integracao-javascript-supertest-jest.webp\",\"width\":1360,\"height\":841},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/testes-de-integracao-em-javascript-com-supertest-e-jest\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/\",\"name\":\"Blog InnSpire\",\"description\":\"Blog sobre inova\u00e7\u00e3o e tecnologia na \u00e1rea de desenvolvimento.\",\"publisher\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#organization\",\"name\":\"Blog InnSpire\",\"url\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/logotipo-blog-innspire.png\",\"contentUrl\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/logotipo-blog-innspire.png\",\"width\":367,\"height\":73,\"caption\":\"Blog InnSpire\"},\"image\":{\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/innovaconnect\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/innovaconnect\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/#\\\/schema\\\/person\\\/571e55b97748333a75eefb26285461d0\",\"name\":\"InnSpire Author\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b1a8653f06af3c23f671b19408f6b888f876fcc516d0313ef3c98ef653b77ed5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b1a8653f06af3c23f671b19408f6b888f876fcc516d0313ef3c98ef653b77ed5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b1a8653f06af3c23f671b19408f6b888f876fcc516d0313ef3c98ef653b77ed5?s=96&d=mm&r=g\",\"caption\":\"InnSpire Author\"},\"url\":\"https:\\\/\\\/innspire.dev\\\/blog\\\/author\\\/dev\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest - Blog InnSpire","description":"O Jest \u00e9 um framework para testes em javascript. Vamos ver como utiliz\u00e1-lo para criar testes de integra\u00e7\u00e3o para API\u2019s.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/","og_locale":"pt_BR","og_type":"article","og_title":"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest - Blog InnSpire","og_description":"O Jest \u00e9 um framework para testes em javascript. Vamos ver como utiliz\u00e1-lo para criar testes de integra\u00e7\u00e3o para API\u2019s.","og_url":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/","og_site_name":"Blog InnSpire","article_published_time":"2023-10-25T20:07:02+00:00","article_modified_time":"2023-10-25T20:07:03+00:00","og_image":[{"width":1360,"height":841,"url":"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/testes-integracao-javascript-supertest-jest.webp","type":"image\/webp"}],"author":"InnSpire Author","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"InnSpire Author","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/#article","isPartOf":{"@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/"},"author":{"name":"InnSpire Author","@id":"https:\/\/innspire.dev\/blog\/#\/schema\/person\/571e55b97748333a75eefb26285461d0"},"headline":"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest","datePublished":"2023-10-25T20:07:02+00:00","dateModified":"2023-10-25T20:07:03+00:00","mainEntityOfPage":{"@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/"},"wordCount":686,"publisher":{"@id":"https:\/\/innspire.dev\/blog\/#organization"},"image":{"@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/#primaryimage"},"thumbnailUrl":"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/testes-integracao-javascript-supertest-jest.webp","keywords":["coding","desenvolvimento","desenvolvimento de sistemas","JavasCript","Jest","Supertest"],"articleSection":["Desenvolvimento"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/","url":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/","name":"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest - Blog InnSpire","isPartOf":{"@id":"https:\/\/innspire.dev\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/#primaryimage"},"image":{"@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/#primaryimage"},"thumbnailUrl":"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/testes-integracao-javascript-supertest-jest.webp","datePublished":"2023-10-25T20:07:02+00:00","dateModified":"2023-10-25T20:07:03+00:00","description":"O Jest \u00e9 um framework para testes em javascript. Vamos ver como utiliz\u00e1-lo para criar testes de integra\u00e7\u00e3o para API\u2019s.","breadcrumb":{"@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/#primaryimage","url":"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/testes-integracao-javascript-supertest-jest.webp","contentUrl":"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/testes-integracao-javascript-supertest-jest.webp","width":1360,"height":841},{"@type":"BreadcrumbList","@id":"https:\/\/innspire.dev\/blog\/testes-de-integracao-em-javascript-com-supertest-e-jest\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/innspire.dev\/blog\/"},{"@type":"ListItem","position":2,"name":"Testes de integra\u00e7\u00e3o em Javascript com Supertest e Jest"}]},{"@type":"WebSite","@id":"https:\/\/innspire.dev\/blog\/#website","url":"https:\/\/innspire.dev\/blog\/","name":"Blog InnSpire","description":"Blog sobre inova\u00e7\u00e3o e tecnologia na \u00e1rea de desenvolvimento.","publisher":{"@id":"https:\/\/innspire.dev\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/innspire.dev\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/innspire.dev\/blog\/#organization","name":"Blog InnSpire","url":"https:\/\/innspire.dev\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/innspire.dev\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/logotipo-blog-innspire.png","contentUrl":"https:\/\/innspire.dev\/blog\/wp-content\/uploads\/2023\/10\/logotipo-blog-innspire.png","width":367,"height":73,"caption":"Blog InnSpire"},"image":{"@id":"https:\/\/innspire.dev\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/innovaconnect\/","https:\/\/www.linkedin.com\/company\/innovaconnect\/"]},{"@type":"Person","@id":"https:\/\/innspire.dev\/blog\/#\/schema\/person\/571e55b97748333a75eefb26285461d0","name":"InnSpire Author","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/b1a8653f06af3c23f671b19408f6b888f876fcc516d0313ef3c98ef653b77ed5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b1a8653f06af3c23f671b19408f6b888f876fcc516d0313ef3c98ef653b77ed5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b1a8653f06af3c23f671b19408f6b888f876fcc516d0313ef3c98ef653b77ed5?s=96&d=mm&r=g","caption":"InnSpire Author"},"url":"https:\/\/innspire.dev\/blog\/author\/dev\/"}]}},"_links":{"self":[{"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/posts\/2537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/comments?post=2537"}],"version-history":[{"count":0,"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/posts\/2537\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/media\/2555"}],"wp:attachment":[{"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/media?parent=2537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/categories?post=2537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/innspire.dev\/blog\/wp-json\/wp\/v2\/tags?post=2537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}