{"id":10368,"date":"2018-06-23T20:15:33","date_gmt":"2018-06-23T18:15:33","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=10368"},"modified":"2018-08-17T17:25:41","modified_gmt":"2018-08-17T15:25:41","slug":"es-muss-ja-nicht-immer-fussball-sein-neue-annotation-fuer-junit-5-tags","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=10368","title":{"rendered":"Es muss ja nicht immer Fussball und Weltmeisterschaft sein! Neue Annotation f\u00fcr JUnit 5 &#8211; Tags sind auch spannend!"},"content":{"rendered":"<p>Mit den neuen Tags (<strong>org.junit.jupiter.api.Tag<\/strong>) k\u00f6nnen Methoden und auch ganze Klassen getagt werden, um sie z.B. in Gruppen einzuteilen.<br \/>\nEine Testgruppe k\u00f6nnte z.B. eine langlaufende DB Methoden sein, die nicht immer ausgef\u00fchrt werden soll.<\/p>\n<p>Ein Tag muss folgenden Syntax Regeln folgen:<\/p>\n<p>-ein Tag darf nicht Leer sein<br \/>\n-ein Tag darf keine Leerzeichen enthalten<br \/>\n-ein Tag darf keine ISO Kontroll Zeichen enthalten<br \/>\n-ein Tag darf kein, (, ), %, | oder ! Zeichen enthalten<\/p>\n<p>Eine Testklasse zur WM 2018 k\u00f6nnte so aussehen:<br \/>\n<!--more--><\/p>\n<pre class=\"lang:java decode:true \" >\/**\r\n * Fusballer Test mit DB und Repo.\r\n * \r\n * @author Thomas Wenzlaff\r\n *\r\n *\/\r\n@ExtendWith(SpringExtension.class)\r\n@SpringBootTest\r\nclass FusballerRepositoryTest {\r\n\r\n\t@Autowired\r\n\tprivate FusballerRepository fusballerRepository;\r\n\r\n\t@Tag(\"DB-Test\")\r\n\t@Test\r\n\t@DisplayName(\"Test mit Datenbank nach Name und Umlaute\")\r\n\tvoid testGetFusballerByName() {\r\n\t\tList&lt;Fusballer&gt; fussballer = fusballerRepository.getFusballerByName(\"M\u00fcller\");\r\n\t\tassertEquals(1, fussballer.size());\r\n\t\tassertEquals(\"M\u00fcller\", fussballer.get(0).getName());\r\n\t}\r\n\r\n\t@Tag(\"DB-Test-Langl\u00e4ufer\")\r\n\t@Test\r\n\t@DisplayName(\"Test mit Datenbank max. Anzahl\")\r\n\tvoid testGetFusballerMax() {\r\n\t\tList&lt;Fusballer&gt; fussballer = fusballerRepository.findAll();\r\n\t\tassertEquals(11, fussballer.size());\r\n\r\n\t}\r\n\r\n\t@Tag(\"DB-Test\")\r\n\t@Test\r\n\t@DisplayName(\"Test mit Datenbank max. Count\")\r\n\tvoid testGetFusballerCount() {\r\n\t\tassertEquals(11, fusballerRepository.count());\r\n\t}\r\n\r\n}<\/pre>\n<p>Unter Eclipse kann man nun alle Tests ausf\u00fchren lassen, ausser die mit <strong>DB-Test-Langl\u00e4ufer<\/strong> getagten Methode:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/06\/Bildschirmfoto-2018-06-23-um-15.52.19.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/06\/Bildschirmfoto-2018-06-23-um-15.52.19.png\" alt=\"\" width=\"666\" height=\"836\" class=\"aligncenter size-full wp-image-10369\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/06\/Bildschirmfoto-2018-06-23-um-15.52.19.png 666w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/06\/Bildschirmfoto-2018-06-23-um-15.52.19-239x300.png 239w\" sizes=\"auto, (max-width: 666px) 100vw, 666px\" \/><\/a><\/p>\n<p>Das Ergebnis, es werden nur die zwei Methoden mit DB-Test Tag ausgef\u00fchrt:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/06\/Bildschirmfoto-2018-06-23-um-16.04.07.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/06\/Bildschirmfoto-2018-06-23-um-16.04.07.png\" alt=\"\" width=\"432\" height=\"132\" class=\"aligncenter size-full wp-image-10370\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/06\/Bildschirmfoto-2018-06-23-um-16.04.07.png 432w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/06\/Bildschirmfoto-2018-06-23-um-16.04.07-300x92.png 300w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit den neuen Tags (org.junit.jupiter.api.Tag) k\u00f6nnen Methoden und auch ganze Klassen getagt werden, um sie z.B. in Gruppen einzuteilen. Eine Testgruppe k\u00f6nnte z.B. eine langlaufende DB Methoden sein, die nicht immer ausgef\u00fchrt werden soll. Ein Tag muss folgenden Syntax Regeln folgen: -ein Tag darf nicht Leer sein -ein Tag darf keine Leerzeichen enthalten -ein Tag &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=10368\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eEs muss ja nicht immer Fussball und Weltmeisterschaft sein! Neue Annotation f\u00fcr JUnit 5 &#8211; Tags sind auch spannend!\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,5,2953,79,2658],"tags":[2046,307,2943,3318,1920,1709],"class_list":["post-10368","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-java","category-junit-5","category-programmierung","category-test-thema","tag-db","tag-gruppen","tag-junit-5","tag-junt5","tag-tag","tag-testen"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/10368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10368"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/10368\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10368"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}