{"id":21341,"date":"2024-01-23T02:00:44","date_gmt":"2024-01-23T01:00:44","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=21341"},"modified":"2024-02-21T15:03:41","modified_gmt":"2024-02-21T14:03:41","slug":"assertall-in-java","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=21341","title":{"rendered":"assertAll in Java"},"content":{"rendered":"<p>In der Regel soll ja nur eine assertion pro Testmethode enthalten sein. Manchmal gibt es aber doch sinnvolle UseCases, dann kann man die assertAll verwenden.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2024\/01\/herz-har.mp4.gif\" alt=\"assertAll\" width=\"512\" height=\"288\" class=\"aligncenter size-full wp-image-21345\" \/><\/p>\n<p>Die <a href=\"https:\/\/junit.org\/junit5\/docs\/5.0.1\/api\/org\/junit\/jupiter\/api\/Assertions.html#assertAll-org.junit.jupiter.api.function.Executable...-\" rel=\"noopener\" target=\"_blank\">assertAll<\/a>-Methode in JUnit 5 wird verwendet, um mehrere Assertions innerhalb einer Testmethode zu gruppieren. <!--more--><\/p>\n<p>Dies ist <strong>besonders n\u00fctzlich<\/strong>, wenn Sie mehrere Bedingungen \u00fcberpr\u00fcfen m\u00f6chten, unabh\u00e4ngig davon, ob eine davon fehlschl\u00e4gt. Die assertAll-Methode wird alle Assertions ausf\u00fchren, selbst wenn eine fehlschl\u00e4gt, und alle Fehler aufzeichnen. Dies erm\u00f6glicht es, alle festgestellten Probleme in einer einzigen Testausf\u00fchrung zu erfassen, anstatt dass der Test bei der ersten fehlgeschlagenen Assertion sofort abgebrochen wird.<\/p>\n<p>Hier sind mal zwei <strong>assertEquals<\/strong> die Fehlschlagen und unten im Trace, sieht man es auch:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2024\/01\/junit-assertall.png\" alt=\"\" width=\"4110\" height=\"2000\" class=\"aligncenter size-full wp-image-21342\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2024\/01\/junit-assertall.png 4110w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2024\/01\/junit-assertall-300x146.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2024\/01\/junit-assertall-1024x498.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2024\/01\/junit-assertall-768x374.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2024\/01\/junit-assertall-1536x747.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2024\/01\/junit-assertall-2048x997.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>Hier Beispiel Code mit der auch zeigt, wie man auf die Meta-Infos zugreifen kann. Hier der Methoden-Name der Testmethode:<\/p>\n<pre class=\"lang:java decode:true \" >\t@DisplayName(\"Blockchain Test mit assertAll\")\r\n\t@Tag(\"schnell\")\r\n\t@Test\r\n\tvoid testMitAssertAll(TestInfo testInfo) {\r\n\t\tString name = \"Blockchain\";\r\n\t\tint btc = 30;\r\n\r\n\t\tassertAll(\"Blockchain\", \r\n\t\t\t() -&gt; assertEquals(\"Blockchain\", name, \"Name der Blockchain stimmt nicht \u00fcberein\"), \r\n\t\t\t() -&gt; assertEquals(\"soll fehlschlagen\", testInfo.getTags()), \r\n\t\t\t() -&gt; assertEquals(30, btc, \"Btc stimmt nicht \u00fcberein\"), \r\n\t\t\t() -&gt; assertEquals(\"soll fehlschalgen\", testInfo.getDisplayName())); \r\n\t}<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/11\/JUnit-Test.png\" alt=\"junit 5\" width=\"2732\" height=\"2048\" class=\"aligncenter size-full wp-image-12171\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/11\/JUnit-Test.png 2732w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/11\/JUnit-Test-300x225.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/11\/JUnit-Test-768x576.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/11\/JUnit-Test-1024x768.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der Regel soll ja nur eine assertion pro Testmethode enthalten sein. Manchmal gibt es aber doch sinnvolle UseCases, dann kann man die assertAll verwenden. Die assertAll-Methode in JUnit 5 wird verwendet, um mehrere Assertions innerhalb einer Testmethode zu gruppieren.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,4,5,3897,2953,79,2658],"tags":[5903,5898,5899,55,2943,5901,5900,5902],"class_list":["post-21341","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-eclipse","category-java","category-java-programmierung","category-junit-5","category-programmierung","category-test-thema","tag-all","tag-assertall","tag-ausnahmen","tag-junit","tag-junit-5","tag-methodenname","tag-testinfo","tag-testmethodennamen"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/21341","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=21341"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/21341\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21341"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}