{"id":1381,"date":"2024-11-27T12:16:00","date_gmt":"2024-11-27T05:16:00","guid":{"rendered":"https:\/\/focusnic.com\/blog\/?p=1381"},"modified":"2024-12-19T15:59:51","modified_gmt":"2024-12-19T08:59:51","slug":"apa-itu-unit-test","status":"publish","type":"post","link":"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/","title":{"rendered":"Apa Itu Unit Test?"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#Pendahuluan_tentang_Unit_Test\" >Pendahuluan tentang Unit Test<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#Mengapa_Unit_Test_Penting\" >Mengapa Unit Test Penting?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#1_Meningkatkan_Kualitas_Kode\" >1. Meningkatkan Kualitas Kode<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#2_Memfasilitasi_Perubahan_Kode\" >2. Memfasilitasi Perubahan Kode<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#3_Mendokumentasikan_Kode\" >3. Mendokumentasikan Kode<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#Prinsip_Dasar_Unit_Test\" >Prinsip Dasar Unit Test<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#1_Isolasi\" >1. Isolasi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#2_Reproduksibilitas\" >2. Reproduksibilitas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#3_Kecepatan\" >3. Kecepatan<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#Cara_Menulis_Unit_Test_yang_Efektif\" >Cara Menulis Unit Test yang Efektif<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#1_Gunakan_Framework_Unit_Testing\" >1. Gunakan Framework Unit Testing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#2_Tetapkan_Tujuan_Pengujian_yang_Jelas\" >2. Tetapkan Tujuan Pengujian yang Jelas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#3_Gunakan_Nama_yang_Deskriptif\" >3. Gunakan Nama yang Deskriptif<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#4_Tes_Satu_Hal_Saja\" >4. Tes Satu Hal Saja<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#5_Bersihkan_Setelah_Pengujian\" >5. Bersihkan Setelah Pengujian<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#Contoh_Unit_Test\" >Contoh Unit Test<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#Best_Practices_dalam_Unit_Testing\" >Best Practices dalam Unit Testing<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#1_Jalankan_Unit_Test_Secara_Berkala\" >1. Jalankan Unit Test Secara Berkala<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#2_Integrasi_dengan_CICD\" >2. Integrasi dengan CI\/CD<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#3_Jaga_Agar_Unit_Test_Tetap_Relevan\" >3. Jaga Agar Unit Test Tetap Relevan<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#4_Hindari_Kode_yang_Berulang\" >4. Hindari Kode yang Berulang<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#5_Dokumentasikan_Unit_Test\" >5. Dokumentasikan Unit Test<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/focusnic.com\/blog\/apa-itu-unit-test\/#Kesimpulan\" >Kesimpulan<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pendahuluan_tentang_Unit_Test\"><\/span><strong>Pendahuluan tentang Unit Test<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Unit test<\/strong> adalah metode pengujian perangkat lunak yang berfokus pada pengujian unit terkecil dari kode program, biasanya berupa fungsi atau metode. Tujuan utama dari unit test adalah untuk memastikan bahwa setiap bagian dari kode bekerja sesuai yang diharapkan. Dengan melakukan unit test, kita dapat mendeteksi masalah lebih awal dalam proses pengembangan, sehingga meminimalkan biaya perbaikan di kemudian hari.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Mengapa_Unit_Test_Penting\"><\/span><strong>Mengapa Unit Test Penting?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Meningkatkan_Kualitas_Kode\"><\/span><strong>1. Meningkatkan Kualitas Kode<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Unit test membantu dalam menjaga kualitas kode dengan mendeteksi bug dan kesalahan logika pada tahap awal. Dengan mengidentifikasi masalah secara dini, pengembang dapat memperbaikinya sebelum kode diintegrasikan ke dalam sistem yang lebih besar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Memfasilitasi_Perubahan_Kode\"><\/span><strong>2. Memfasilitasi Perubahan Kode<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Dalam pengembangan perangkat lunak yang dinamis, perubahan sering kali diperlukan. Unit test memungkinkan pengembang untuk melakukan perubahan pada kode dengan keyakinan bahwa fungsionalitas yang ada tidak akan terpengaruh. Jika ada regresi, unit test akan menunjukkan hasil yang gagal.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Mendokumentasikan_Kode\"><\/span><strong>3. Mendokumentasikan Kode<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Unit test juga berfungsi sebagai dokumentasi hidup dari kode. Dengan melihat unit test, pengembang dapat memahami cara kerja suatu fungsi atau metode tanpa harus membaca seluruh kode. Ini sangat berguna dalam tim pengembangan yang besar, di mana beberapa pengembang mungkin bekerja pada bagian kode yang sama.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Prinsip_Dasar_Unit_Test\"><\/span><strong>Prinsip Dasar Unit Test<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Isolasi\"><\/span><strong>1. Isolasi<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Unit test harus menguji unit kode secara terpisah dari bagian lain. Ini berarti bahwa unit test harus dirancang untuk memastikan bahwa pengujian dilakukan secara independen tanpa bergantung pada komponen eksternal, seperti database atau API.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Reproduksibilitas\"><\/span><strong>2. Reproduksibilitas<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Unit test harus dapat dijalankan berulang kali dengan hasil yang konsisten. Ini berarti bahwa hasil dari unit test tidak boleh dipengaruhi oleh faktor eksternal, seperti waktu atau kondisi lingkungan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Kecepatan\"><\/span><strong>3. Kecepatan<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Unit test harus cepat untuk dijalankan. Pengujian yang lambat dapat menghambat proses pengembangan, karena pengembang mungkin enggan menjalankan pengujian secara berkala. Unit test yang efisien memungkinkan pengembang untuk menjalankan pengujian secara terus-menerus selama siklus pengembangan.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cara_Menulis_Unit_Test_yang_Efektif\"><\/span><strong>Cara Menulis Unit Test yang Efektif<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Gunakan_Framework_Unit_Testing\"><\/span><strong>1. Gunakan Framework Unit Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Ada banyak framework yang dapat digunakan untuk menulis unit test, seperti <strong>JUnit<\/strong> untuk Java, <strong>pytest<\/strong> untuk Python, dan <strong>Jest<\/strong> untuk JavaScript. Menggunakan framework ini akan memudahkan dalam menulis, menjalankan, dan mengelola unit test.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Tetapkan_Tujuan_Pengujian_yang_Jelas\"><\/span><strong>2. Tetapkan Tujuan Pengujian yang Jelas<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Setiap unit test harus memiliki tujuan yang jelas. Sebelum menulis test, tentukan apa yang ingin diuji dan apa hasil yang diharapkan. Ini akan membantu dalam menjaga fokus saat menulis unit test.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Gunakan_Nama_yang_Deskriptif\"><\/span><strong>3. Gunakan Nama yang Deskriptif<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Nama yang deskriptif untuk unit test sangat penting. Nama yang baik akan menjelaskan apa yang sedang diuji dan kondisi apa yang diharapkan. Ini memudahkan pengembang lain untuk memahami tujuan pengujian hanya dengan melihat nama test.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_Tes_Satu_Hal_Saja\"><\/span><strong>4. Tes Satu Hal Saja<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Setiap unit test harus menguji satu hal saja. Jika satu test gagal, kita harus dapat dengan jelas mengetahui bagian mana dari kode yang bermasalah. Menguji lebih dari satu hal dalam satu test dapat membuat debugging menjadi sulit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_Bersihkan_Setelah_Pengujian\"><\/span><strong>5. Bersihkan Setelah Pengujian<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Setelah menjalankan unit test, pastikan untuk mengembalikan kondisi lingkungan ke keadaan semula. Ini penting untuk memastikan bahwa pengujian berikutnya tidak terpengaruh oleh keadaan sebelumnya.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Contoh_Unit_Test\"><\/span><strong>Contoh Unit Test<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Sebagai contoh, mari kita lihat cara menulis unit test sederhana menggunakan Python dan framework <strong>unittest<\/strong>. Misalkan kita memiliki fungsi yang menjumlahkan dua angka:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:python decode:true \" >def add(a, b):\n    return a + b<\/pre><\/div>\n\n\n\n<p>Unit test untuk fungsi ini dapat ditulis sebagai berikut:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:python decode:true \" >import unittest\n\nclass TestMathFunctions(unittest.TestCase):\n    \n    def test_add(self):\n        self.assertEqual(add(1, 2), 3)\n        self.assertEqual(add(-1, 1), 0)\n        self.assertEqual(add(-1, -1), -2)\n\nif __name__ == '__main__':\n    unittest.main()<\/pre><\/div>\n\n\n\n<p>Dalam contoh di atas, kita menguji fungsi <code>add<\/code> dengan beberapa kasus, termasuk positif dan negatif. Setiap assert akan memastikan bahwa hasil dari fungsi sesuai dengan yang diharapkan.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Best_Practices_dalam_Unit_Testing\"><\/span><strong>Best Practices dalam Unit Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Jalankan_Unit_Test_Secara_Berkala\"><\/span><strong>1. Jalankan Unit Test Secara Berkala<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Unit test harus dijalankan secara berkala, terutama setelah setiap perubahan kode. Ini memastikan bahwa semua unit test tetap relevan dan berfungsi dengan baik seiring dengan perkembangan kode.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Integrasi_dengan_CICD\"><\/span><strong>2. Integrasi dengan CI\/CD<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Integrasikan unit test dengan <strong>Continuous Integration\/Continuous Deployment (CI\/CD)<\/strong> pipeline. Ini memungkinkan pengujian otomatis setiap kali ada perubahan kode, sehingga membantu menjaga kualitas kode sepanjang waktu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Jaga_Agar_Unit_Test_Tetap_Relevan\"><\/span><strong>3. Jaga Agar Unit Test Tetap Relevan<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Seiring dengan perkembangan kode, unit test juga perlu diperbarui. Pastikan untuk meninjau dan memperbarui unit test jika ada perubahan signifikan pada fungsi yang diuji.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_Hindari_Kode_yang_Berulang\"><\/span><strong>4. Hindari Kode yang Berulang<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Jika ada pengujian yang memiliki logika sama, pertimbangkan untuk membuat fungsi bantu untuk mengurangi pengulangan. Ini akan membuat unit test lebih mudah dibaca dan dikelola.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_Dokumentasikan_Unit_Test\"><\/span><strong>5. Dokumentasikan Unit Test<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Menambahkan dokumentasi pada unit test sangat penting untuk memberikan konteks kepada pengembang lain mengenai apa yang diuji dan mengapa. Dokumentasi yang baik dapat membantu dalam pengembangan tim.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Kesimpulan\"><\/span><strong>Kesimpulan<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Unit test<\/strong> adalah bagian penting dari proses pengembangan perangkat lunak, yang berfungsi untuk memastikan bahwa setiap unit kode berfungsi dengan baik. Dengan melakukan unit test secara efektif, kita dapat meningkatkan kualitas kode, memfasilitasi perubahan, dan mendokumentasikan fungsionalitas kode. Menerapkan prinsip dan praktik terbaik dalam unit testing akan membantu kita menciptakan perangkat lunak yang lebih andal dan efisien. Dalam dunia pengembangan perangkat lunak yang terus berkembang, unit test akan selalu menjadi alat yang sangat berharga untuk menjaga integritas dan kualitas sistem yang kita bangun.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pendahuluan tentang Unit Test Unit test adalah metode pengujian perangkat lunak yang berfokus pada pengujian unit terkecil dari kode program, biasanya berupa fungsi atau metode. Tujuan utama dari unit test adalah untuk memastikan bahwa setiap bagian dari kode bekerja sesuai yang diharapkan. Dengan melakukan unit test, kita dapat mendeteksi masalah lebih awal dalam proses pengembangan, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1382,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[96],"class_list":{"0":"post-1381","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-informasi","8":"tag-unit-test"},"_links":{"self":[{"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/posts\/1381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/comments?post=1381"}],"version-history":[{"count":1,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/posts\/1381\/revisions"}],"predecessor-version":[{"id":1383,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/posts\/1381\/revisions\/1383"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/media\/1382"}],"wp:attachment":[{"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/media?parent=1381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/categories?post=1381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/tags?post=1381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}