{"id":20876,"date":"2023-10-06T06:57:25","date_gmt":"2023-10-06T04:57:25","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=20876"},"modified":"2023-11-12T14:01:51","modified_gmt":"2023-11-12T13:01:51","slug":"bedingten-ausfuehrungen-in-junit-enabledonosvalue-os-windows-disabledreason","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=20876","title":{"rendered":"Bedingten Ausf\u00fchrungen in JUnit @EnabledOnOs(value = OS.WINDOWS, disabledReason=&#8220;&#8220;)"},"content":{"rendered":"<p>Das Ziel f\u00fcr JUnit Tests sollte es eigentlich sein, die Tests so zu schreiben das sie auf &#8222;allen&#8220; Betriebssystemen laufen. Das geht leider nicht immer. Manchmal will man oder kann man einen JUnit Test nur auf einem bestimmten OS-System laufen lassen. <\/p>\n<p>Z.B. der Test l\u00e4uft nur unter Windows. Seit <a href=\"https:\/\/junit.org\/junit5\/\" rel=\"noopener\" target=\"_blank\">JUnit 5.1<\/a> (aktuell ist \u00fcbrigens schon Version 5.10.0) gibt es da die <a href=\"https:\/\/junit.org\/junit5\/docs\/current\/api\/org.junit.jupiter.api\/org\/junit\/jupiter\/api\/condition\/EnabledOnOs.html\" rel=\"noopener\" target=\"_blank\">Bedingten Ausf\u00fchrungen<\/a> (conditional Executions, EnabledOnOs, <a href=\"https:\/\/junit.org\/junit5\/docs\/current\/api\/org.junit.jupiter.api\/org\/junit\/jupiter\/api\/condition\/DisabledOnOs.html\" rel=\"noopener\" target=\"_blank\">DisabledOnOs<\/a>). Mit diesen kann z.B. eine Testmethode nur unter Windows ausgef\u00fchrt werden. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/11\/JUnit-Test.png\" alt=\"\" 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<p>Toll &#8230;<!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/junit-os.png\" alt=\"\" width=\"2860\" height=\"1044\" class=\"aligncenter size-full wp-image-20877\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/junit-os.png 2860w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/junit-os-300x110.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/junit-os-1024x374.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/junit-os-768x280.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/junit-os-1536x561.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/junit-os-2048x748.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>Hier weitere <a href=\"https:\/\/junit.org\/junit5\/docs\/current\/user-guide\/#writing-tests-conditional-execution-os\" rel=\"noopener\" target=\"_blank\">Beispiele<\/a>. <\/p>\n<p>Folgende OS-Systeme sind als <a href=\"https:\/\/junit.org\/junit5\/docs\/current\/api\/org.junit.jupiter.api\/org\/junit\/jupiter\/api\/condition\/OS.html\" rel=\"noopener\" target=\"_blank\">Enum OS<\/a> vorhanden:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/os-junit.png\" alt=\"\" width=\"2252\" height=\"1152\" class=\"aligncenter size-full wp-image-20880\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/os-junit.png 2252w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/os-junit-300x153.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/os-junit-1024x524.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/os-junit-768x393.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/os-junit-1536x786.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2023\/10\/os-junit-2048x1048.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Ziel f\u00fcr JUnit Tests sollte es eigentlich sein, die Tests so zu schreiben das sie auf &#8222;allen&#8220; Betriebssystemen laufen. Das geht leider nicht immer. Manchmal will man oder kann man einen JUnit Test nur auf einem bestimmten OS-System laufen lassen. Z.B. der Test l\u00e4uft nur unter Windows. Seit JUnit 5.1 (aktuell ist \u00fcbrigens schon &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=20876\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eBedingten Ausf\u00fchrungen in JUnit @EnabledOnOs(value = OS.WINDOWS, disabledReason=&#8220;&#8220;)\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":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,5,2953,2658],"tags":[5817,5816,221,4868,194,5818,347],"class_list":["post-20876","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-java","category-junit-5","category-test-thema","tag-ausfuehrung","tag-bedingung","tag-mac","tag-os","tag-test-2","tag-testfaelle","tag-windows"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/20876","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=20876"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/20876\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20876"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}