{"id":14522,"date":"2013-06-20T16:00:29","date_gmt":"2013-06-20T13:00:29","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=14522"},"modified":"2013-06-20T08:43:21","modified_gmt":"2013-06-20T05:43:21","slug":"unit-testing-tip-create-descriptive-tests","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html","title":{"rendered":"Unit Testing Tip: Create Descriptive Tests"},"content":{"rendered":"<p>Your unit tests should be as descriptive as possible. The feedback they give you should be so clear you don\u2019t even need to fire up the debugger and step one by one through the code to inspect your local variables. Why? Because that takes time and we\u2019re lazy, right? In order to do so you need to create descriptive tests. There are different approaches to realize that. Here are two of them.<\/p>\n<h2>Add Assert Messages<\/h2>\n<p>Assert messages can usually be specified as an additional parameter in your test assert and they appear as the failure message when that specific test case fails.<\/p>\n<p>In jUnit for instance you\u2019d specify your assert message like:<\/p>\n<pre class=\" brush:java\">assertEquals(\"The firstname of the two people should match if the clone was successful\", \"Fritz\", person1.getFirstname());<\/pre>\n<p>In MSTest on the other hand, the assert message has to be added as the last parameter.<\/p>\n<pre class=\" brush:java\">Assert.AreEqual(\"Fritz\", person1.Firstname, \"The firstname of the two people should match if the clone was successful\");<\/pre>\n<p><strong>Caution<\/strong>, don\u2019t \u201cover-engineer\u201d. I treat these comments similarly as with other code comments: just add them if they add meaningful information. Otherwise they\u2019re waste and hence treat them as such.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<h2>Prefer Explicit Asserts<\/h2>\n<p>What I mean with <em>explicit asserts<\/em> is to use the correct asserts for the kind of operation you\u2019re performing. For instance, if you need to perform an equality check as in the assert mentioned before, don\u2019t use a boolean assert statement. (Here an example of a dummy QUnit test case)<\/p>\n<pre class=\" brush:java\">test('Should correctly clone two people', 1, function(){\r\n    \/\/...\r\n\r\n    ok(person1.firstname === 'Fritz', 'I expect both names to match if the clone operation succeeded');\r\n});<\/pre>\n<p>\u2026and the corresponding result in the output window:<\/p>\n<p><figure id=\"attachment_14587\" aria-describedby=\"caption-attachment-14587\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/06\/qunit_undescriptive_testresult.png\"><img decoding=\"async\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/06\/qunit_undescriptive_testresult-300x49.png\" alt=\"This outcome isn&#039;t really descriptive...\" width=\"300\" height=\"49\" class=\"size-medium wp-image-14587\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/06\/qunit_undescriptive_testresult-300x49.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/06\/qunit_undescriptive_testresult.png 907w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-14587\" class=\"wp-caption-text\">This outcome isn&#8217;t really descriptive&#8230;<\/figcaption><\/figure><\/p>\n<p>The outcome doesn\u2019t tell us much, right? What you can say is that the person\u2019s firstname didn\u2019t match what you expected and as such that that clone operation probably didn\u2019t succeed. But why?? What was its actual value then?<\/p>\n<p>Use the <code>equals<\/code> instead:<\/p>\n<pre class=\" brush:java\">test('Should correctly clone two people', 1, function(){\r\n    \/\/...\r\n\r\n    equal(person1.firstname, 'Fritz', 'I expect both names to match if the clone operation succeeded');\r\n});<\/pre>\n<p>\u2026and again, the outcome:<\/p>\n<p><figure id=\"attachment_14588\" aria-describedby=\"caption-attachment-14588\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/06\/qunit_descriptive_testresult.png\"><img decoding=\"async\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/06\/qunit_descriptive_testresult-300x97.png\" alt=\"Oh, look there, a descriptive outcome.\" width=\"300\" height=\"97\" class=\"size-medium wp-image-14588\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/06\/qunit_descriptive_testresult-300x97.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/06\/qunit_descriptive_testresult.png 907w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-14588\" class=\"wp-caption-text\">Oh, look there, a descriptive outcome.<\/figcaption><\/figure><\/p>\n<p>Now this test case\u2019s outcome is much more descriptive. It doesn\u2019t only tell you that the operation failed, but also exactly shows you the expected as well as actual value. This might give you an immediate a hint where the problem could be.<br \/>\n&nbsp;<\/p>\n<div style=\"border: 1px solid #D8D8D8; background: #FAFAFA; width: 100%; padding-left: 5px;\"><b><i>Reference: <\/i><\/b><a href=\"http:\/\/juristr.com\/blog\/2013\/06\/unit-testing-tip-create-descriptive-tests\/\">Unit Testing Tip: Create Descriptive Tests<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/jcg\">JCG partner<\/a> Juri Strumpflohner at the <a href=\"http:\/\/juristr.com\/blog\/\">Juri Strumpflohner&#8217;s TechBlog<\/a> blog.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Your unit tests should be as descriptive as possible. The feedback they give you should be so clear you don\u2019t even need to fire up the debugger and step one by one through the code to inspect your local variables. Why? Because that takes time and we\u2019re lazy, right? In order to do so you &hellip;<\/p>\n","protected":false},"author":31,"featured_media":176,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[274,273],"class_list":["post-14522","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-junit","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Unit Testing Tip: Create Descriptive Tests<\/title>\n<meta name=\"description\" content=\"Your unit tests should be as descriptive as possible. The feedback they give you should be so clear you don\u2019t even need to fire up the debugger and step\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unit Testing Tip: Create Descriptive Tests\" \/>\n<meta property=\"og:description\" content=\"Your unit tests should be as descriptive as possible. The feedback they give you should be so clear you don\u2019t even need to fire up the debugger and step\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2013-06-20T13:00:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Juri Strumpflohner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@http:\/\/twitter.com\/juristr\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Juri Strumpflohner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html\"},\"author\":{\"name\":\"Juri Strumpflohner\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/90c2d02d13e2a964f7b84146149e0112\"},\"headline\":\"Unit Testing Tip: Create Descriptive Tests\",\"datePublished\":\"2013-06-20T13:00:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html\"},\"wordCount\":375,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/junit-logo-e1426444701180.jpg\",\"keywords\":[\"JUnit\",\"Testing\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html\",\"name\":\"Unit Testing Tip: Create Descriptive Tests\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/junit-logo-e1426444701180.jpg\",\"datePublished\":\"2013-06-20T13:00:29+00:00\",\"description\":\"Your unit tests should be as descriptive as possible. The feedback they give you should be so clear you don\u2019t even need to fire up the debugger and step\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/junit-logo-e1426444701180.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/junit-logo-e1426444701180.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/06\\\/unit-testing-tip-create-descriptive-tests.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Unit Testing Tip: Create Descriptive Tests\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/90c2d02d13e2a964f7b84146149e0112\",\"name\":\"Juri Strumpflohner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/45338315375849845e4c4b30f52cb417221e2d9a7e688785e4dd2af0e624a260?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/45338315375849845e4c4b30f52cb417221e2d9a7e688785e4dd2af0e624a260?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/45338315375849845e4c4b30f52cb417221e2d9a7e688785e4dd2af0e624a260?s=96&d=mm&r=g\",\"caption\":\"Juri Strumpflohner\"},\"description\":\"Juri Strumpflohner mainly operates in the web sector developing rich applications with HTML5 and JavaScript. Beside having a Java background and developing Android applications he currently works as a software architect in the e-government sector. When he\u2019s not coding or blogging about his newest discoveries, he is practicing Yoseikan Budo where he owns a 2nd DAN.\",\"sameAs\":[\"http:\\\/\\\/juristr.com\\\/blog\",\"http:\\\/\\\/linkedin.com\\\/in\\\/juristr\\\/\",\"https:\\\/\\\/x.com\\\/http:\\\/\\\/twitter.com\\\/juristr\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/Juri-Strumpflohner\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Unit Testing Tip: Create Descriptive Tests","description":"Your unit tests should be as descriptive as possible. The feedback they give you should be so clear you don\u2019t even need to fire up the debugger and step","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:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html","og_locale":"en_US","og_type":"article","og_title":"Unit Testing Tip: Create Descriptive Tests","og_description":"Your unit tests should be as descriptive as possible. The feedback they give you should be so clear you don\u2019t even need to fire up the debugger and step","og_url":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2013-06-20T13:00:29+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","type":"image\/jpeg"}],"author":"Juri Strumpflohner","twitter_card":"summary_large_image","twitter_creator":"@http:\/\/twitter.com\/juristr","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Juri Strumpflohner","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html"},"author":{"name":"Juri Strumpflohner","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/90c2d02d13e2a964f7b84146149e0112"},"headline":"Unit Testing Tip: Create Descriptive Tests","datePublished":"2013-06-20T13:00:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html"},"wordCount":375,"commentCount":1,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","keywords":["JUnit","Testing"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html","url":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html","name":"Unit Testing Tip: Create Descriptive Tests","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","datePublished":"2013-06-20T13:00:29+00:00","description":"Your unit tests should be as descriptive as possible. The feedback they give you should be so clear you don\u2019t even need to fire up the debugger and step","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2013\/06\/unit-testing-tip-create-descriptive-tests.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Unit Testing Tip: Create Descriptive Tests"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/90c2d02d13e2a964f7b84146149e0112","name":"Juri Strumpflohner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/45338315375849845e4c4b30f52cb417221e2d9a7e688785e4dd2af0e624a260?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/45338315375849845e4c4b30f52cb417221e2d9a7e688785e4dd2af0e624a260?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/45338315375849845e4c4b30f52cb417221e2d9a7e688785e4dd2af0e624a260?s=96&d=mm&r=g","caption":"Juri Strumpflohner"},"description":"Juri Strumpflohner mainly operates in the web sector developing rich applications with HTML5 and JavaScript. Beside having a Java background and developing Android applications he currently works as a software architect in the e-government sector. When he\u2019s not coding or blogging about his newest discoveries, he is practicing Yoseikan Budo where he owns a 2nd DAN.","sameAs":["http:\/\/juristr.com\/blog","http:\/\/linkedin.com\/in\/juristr\/","https:\/\/x.com\/http:\/\/twitter.com\/juristr"],"url":"https:\/\/www.javacodegeeks.com\/author\/Juri-Strumpflohner"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/14522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=14522"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/14522\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/176"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=14522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=14522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=14522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}