{"id":1031,"date":"2020-08-04T12:20:30","date_gmt":"2020-08-04T15:20:30","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=1031"},"modified":"2020-08-04T12:20:32","modified_gmt":"2020-08-04T15:20:32","slug":"tdd-com-python-4","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/","title":{"rendered":"TDD com Python #4"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\"><strong>O M\u00f3dulo da Unidade de Teste da Biblioteca Padr\u00e3o do Python<\/strong><\/h4>\n\n\n\n<p>H\u00e1 alguns problemas que devemos lidar. Primeiro, a mensagem \u201cAssertionError\u201d n\u00e3o ajuda muito, seria legal se o teste nos dissesse o que encontrou e colocasse como t\u00edtulo no browser.<\/p>\n\n\n\n<p>Para isso poder\u00edamos fazer dessa maneira:<\/p>\n\n\n\n<p>assert \u2018To-Do\u2019 in browser.title, \u201cT\u00edtulo do Browser \u201c + browser.title<\/p>\n\n\n\n<p>Podemos utilizar um try\/finally para limpar a janela do Firefox. Mas essas organiza\u00e7\u00f5es de problemas s\u00e3o testes comuns, e h\u00e1 algumas solu\u00e7\u00f5es para nossos m\u00f3dulos de teste unit\u00e1rio para nossa biblioteca. Vamos testar isso:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:python decode:true \" >from selenium import webdriver\nimport unittest\n\nclass NewVisitorTest(unittest.TestCase):  #1\n\n    def setUp(self):  #2\n        self.browser = webdriver.Firefox()\n\n    def tearDown(self):  #3\n        self.browser.quit()\n\n    def test_can_start_a_list_and_retrieve_it_later(self):  #4\n        #Edith ouviu falar de um novo aplicativo de tarefas online to-do app.\n        #Ela vai checar a homepage\n        self.browser.get('http:\/\/localhost:8000')\n\n        #Ela nota que o t\u00edtulo e cabe\u00e7alho da p\u00e1gina menciona uma list to-do\n        self.assertIn('To-Do', self.browser.title)  #5\n        self.fail('Terminou o teste!')  #6\n\n        #Ela \u00e9 convidada a adicionar um item no to-do\n      #  [...rest of comments as before]\n\nif __name__ == '__main__':  #7\n    unittest.main(warnings='ignore')  #8<\/pre><\/div>\n\n\n\n<p>#1 &#8211; Testes s\u00e3o organizados dentro de classes, o qual herda do unittest.TestCase.<\/p>\n\n\n\n<p>#2 &#8211; O corpo principal do teste \u00e9 um m\u00e9todo chamado test_can_start_a_list_and_retrieve_it_later. Quaisquer m\u00e9todos que tenha nomes que comecem com test \u00e9 um m\u00e9todo de teste, e ser\u00e3o executados como testes. Voc\u00ea pode ter mais de um m\u00e9todo de teste por classe. Nomes relativos ao teste \u00e9 uma boa pr\u00e1tica.<\/p>\n\n\n\n<p>#3 &#8211; setUp e tearDown s\u00e3o m\u00e9todos especiais os quais executa antes e depois de cada teste. Eu estou utilizando a abertura e encerramento do nosso browser, note que eles s\u00e3o um pouco parecidos com um try\/except, o tearDown executar\u00e1 mesmo que ocorra um erro durante o teste. Sendo assim uma janela com erro n\u00e3o ficar\u00e1 aberta esperando voc\u00ea fechar.<\/p>\n\n\n\n<p>#4 &#8211; N\u00f3s utilizamos o self.assertIn ao inv\u00e9s de apenas assert para nosso teste de asser\u00e7\u00e3o. Teste unit\u00e1rio fornece muitas funcionalidades como fazer testes de asser\u00e7\u00f5es, como assertEqual, assertTrue, assertFalse e assim por diante. Veja a documenta\u00e7\u00e3o <a href=\"https:\/\/docs.python.org\/3\/library\/unittest.html\">https:\/\/docs.python.org\/3\/library\/unittest.html<\/a><\/p>\n\n\n\n<p>#5 \u2013 self.fail \u00e9 apenas uma mensagem de erro. Estou utilizando para mostrar a mensagem de \u201cTerminou o teste!\u201d.<\/p>\n\n\n\n<p>#6 &#8211; Finalmente, n\u00f3s temos o if __name__ == \u2018__main__\u2019 \u00e9 assim que inicia um script. Chamamos o unittest.main(), &nbsp;o qual lan\u00e7a o unittest, o qual ir\u00e1 automaticamente encontrar classes de testes e m\u00e9todos no arquivo e execut\u00e1-lo.<\/p>\n\n\n\n<p>#7 \u2013 warnings=\u2019ignore\u2019 n\u00e3o mostra avisos sem import\u00e2ncia, ResourceWarning o qual apresenta no console de execu\u00e7\u00e3o.<\/p>\n\n\n\n<p>Se voc\u00ea leu a documenta\u00e7\u00e3o do Django, voc\u00ea deve ter visto algo chamado LiveServerTestCase, e est\u00e1 pensando se devemos utiliz\u00e1-lo agora. Utilizar o LiveServerTestCase \u00e9 um pouco mais complicado.<\/p>\n\n\n\n<p>Vamos executar o teste que criamos.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"318\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/08\/image.png\" alt=\"\" class=\"wp-image-1032\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/08\/image.png 567w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/08\/image-300x168.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/08\/image-262x147.png 262w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/08\/image-260x147.png 260w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><\/figure><\/div>\n\n\n\n<p>Melhorou um pouco. Agora a janela do Firefox fecha caso haja algum erro e no console temos mais informa\u00e7\u00f5es do que foi testado e o erros encontrados.<\/p>\n\n\n\n<p>Fonte: <strong>Tdd com Python: Siga o Bode dos Testes: Usando Django, Selenium e JavaScript<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O M\u00f3dulo da Unidade de Teste da Biblioteca Padr\u00e3o do Python H\u00e1 alguns problemas que devemos lidar. Primeiro, a mensagem \u201cAssertionError\u201d n\u00e3o ajuda muito, seria legal se o teste nos dissesse o que encontrou e colocasse como t\u00edtulo no browser. Para isso poder\u00edamos fazer dessa maneira: assert \u2018To-Do\u2019 in browser.title, \u201cT\u00edtulo do Browser \u201c + [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":210,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48],"tags":[],"class_list":["post-1031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tdd"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.5 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>TDD com Python #4 - Viciados em Aprender<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TDD com Python #4\" \/>\n<meta property=\"og:description\" content=\"O M\u00f3dulo da Unidade de Teste da Biblioteca Padr\u00e3o do Python H\u00e1 alguns problemas que devemos lidar. Primeiro, a mensagem \u201cAssertionError\u201d n\u00e3o ajuda muito, seria legal se o teste nos dissesse o que encontrou e colocasse como t\u00edtulo no browser. Para isso poder\u00edamos fazer dessa maneira: assert \u2018To-Do\u2019 in browser.title, \u201cT\u00edtulo do Browser \u201c + [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/\" \/>\n<meta property=\"og:site_name\" content=\"Viciados em Aprender\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-04T15:20:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-08-04T15:20:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/TDD_Graphic.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"996\" \/>\n\t<meta property=\"og:image:height\" content=\"662\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"blackzig\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"blackzig\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/\"},\"author\":{\"name\":\"blackzig\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"headline\":\"TDD com Python #4\",\"datePublished\":\"2020-08-04T15:20:30+00:00\",\"dateModified\":\"2020-08-04T15:20:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/\"},\"wordCount\":447,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"image\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/TDD_Graphic.jpg\",\"articleSection\":[\"TDD\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/\",\"name\":\"TDD com Python #4 - Viciados em Aprender\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/TDD_Graphic.jpg\",\"datePublished\":\"2020-08-04T15:20:30+00:00\",\"dateModified\":\"2020-08-04T15:20:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/TDD_Graphic.jpg\",\"contentUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/TDD_Graphic.jpg\",\"width\":996,\"height\":662},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/tdd-com-python-4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TDD com Python #4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/\",\"name\":\"Viciados em Aprender\",\"description\":\"Queremos aprender tudo o que for poss\u00edvel nesta vida.\",\"publisher\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\",\"name\":\"blackzig\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"contentUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"width\":1920,\"height\":1080,\"caption\":\"blackzig\"},\"logo\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\"},\"sameAs\":[\"http:\\\/\\\/www.micheladrianomedeiros.com.br\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"TDD com Python #4 - Viciados em Aprender","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:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/","og_locale":"pt_PT","og_type":"article","og_title":"TDD com Python #4","og_description":"O M\u00f3dulo da Unidade de Teste da Biblioteca Padr\u00e3o do Python H\u00e1 alguns problemas que devemos lidar. Primeiro, a mensagem \u201cAssertionError\u201d n\u00e3o ajuda muito, seria legal se o teste nos dissesse o que encontrou e colocasse como t\u00edtulo no browser. Para isso poder\u00edamos fazer dessa maneira: assert \u2018To-Do\u2019 in browser.title, \u201cT\u00edtulo do Browser \u201c + [&hellip;]","og_url":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/","og_site_name":"Viciados em Aprender","article_published_time":"2020-08-04T15:20:30+00:00","article_modified_time":"2020-08-04T15:20:32+00:00","og_image":[{"width":996,"height":662,"url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/TDD_Graphic.jpg","type":"image\/jpeg"}],"author":"blackzig","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"blackzig","Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/#article","isPartOf":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/"},"author":{"name":"blackzig","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"headline":"TDD com Python #4","datePublished":"2020-08-04T15:20:30+00:00","dateModified":"2020-08-04T15:20:32+00:00","mainEntityOfPage":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/"},"wordCount":447,"commentCount":0,"publisher":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"image":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/#primaryimage"},"thumbnailUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/TDD_Graphic.jpg","articleSection":["TDD"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/","name":"TDD com Python #4 - Viciados em Aprender","isPartOf":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/#primaryimage"},"image":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/#primaryimage"},"thumbnailUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/TDD_Graphic.jpg","datePublished":"2020-08-04T15:20:30+00:00","dateModified":"2020-08-04T15:20:32+00:00","breadcrumb":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/#primaryimage","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/TDD_Graphic.jpg","contentUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/TDD_Graphic.jpg","width":996,"height":662},{"@type":"BreadcrumbList","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/tdd-com-python-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/micheladrianomedeiros.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"TDD com Python #4"}]},{"@type":"WebSite","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#website","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/","name":"Viciados em Aprender","description":"Queremos aprender tudo o que for poss\u00edvel nesta vida.","publisher":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/micheladrianomedeiros.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":["Person","Organization"],"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e","name":"blackzig","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","contentUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","width":1920,"height":1080,"caption":"blackzig"},"logo":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg"},"sameAs":["http:\/\/www.micheladrianomedeiros.com.br\/"]}]}},"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1031"}],"version-history":[{"count":1,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1031\/revisions"}],"predecessor-version":[{"id":1033,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1031\/revisions\/1033"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/210"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}