{"id":9,"date":"2023-01-15T00:14:58","date_gmt":"2023-01-14T15:14:58","guid":{"rendered":"https:\/\/hirabay.net\/?p=9"},"modified":"2023-01-31T10:48:34","modified_gmt":"2023-01-31T01:48:34","slug":"junit5%e3%81%a7static%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89%e3%82%84%e3%82%b3%e3%83%b3%e3%82%b9%e3%83%88%e3%83%a9%e3%82%af%e3%82%bf%e3%82%92mock%e5%8c%96","status":"publish","type":"post","link":"https:\/\/hirabay.net\/?p=9","title":{"rendered":"\u3010JUnit5\u3011static\u30e1\u30bd\u30c3\u30c9\u3084\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092Mock\u5316"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Junit5\u3067static\u30e1\u30bd\u30c3\u30c9\u3084\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092Mock\u5316\u3059\u308b\u65b9\u6cd5\u3092\u307e\u3068\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-comments\">\n<div class=\"wp-block-sgb-say\"><div class=\"sgb-block-say sgb-block-say--left\"><div class=\"sgb-block-say-avatar\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/8587387ec297d96871b842816a3e545b.png\" width=\"80\" height=\"80\" style=\"border-color:#eaedf2\"><div class=\"sgb-block-say-avatar__name\"><\/div><\/div><div class=\"sgb-block-say-text\"><div class=\"sgb-block-say-text__content\" style=\"color:#333;border-color:#d5d5d5;background-color:#FFF\">\n<p class=\"wp-block-paragraph\">Junit4\u3067\u306fPowerMock\u3092\u4f7f\u3048\u3070\u3088\u304b\u3063\u305f\u3051\u3069\u3001<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Junit5\u3060\u3068\u3069\u3046\u3059\u308c\u3070\u3044\u3044\u3093\u3060\u308d\u3046\u3002<\/p>\n<span class=\"sgb-block-say-text__before\" style=\"border-right-color:#d5d5d5\"><\/span><span class=\"sgb-block-say-text__after\" style=\"border-right-color:#FFF\"><\/span><\/div><\/div><\/div><\/div>\n<\/div>\n\n\n\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>110<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>115<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>122<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">\n  <li class=\"first\">\n    <a href=\"#i-0\">\u6e96\u5099<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-1\">static\u30e1\u30bd\u30c3\u30c9\u306eMock\u5316<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-2\">\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306eMock\u5316<\/a>\n  <\/li>\n  <li class=\"last\">\n    <a href=\"#i-3\">\u307e\u3068\u3081<\/a>\n  <\/li>\n<\/ul>\n\n      \n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">\u6e96\u5099<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4eca\u56de\u306fMockito\u3067\u5b9f\u73fe\u3057\u3066\u307f\u307e\u3059\u3002<br>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306fSpringBoot\u306e\u524d\u63d0\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">spring-boot-test\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u3068mockito\u81ea\u4f53\u306f\u4f9d\u5b58\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u306e\u3067\u3059\u304c<br>\u5225\u9014<code>mockito-inline<\/code>\u304c\u5fc5\u8981\u306a\u306e\u3067\u4f9d\u5b58\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>dependencies {\n    testImplementation 'org.springframework.boot:spring-boot-starter-test'\n    \/\/ static\u30e1\u30bd\u30c3\u30c9\u3084\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306eMock\u5316\u306b\u5fc5\u8981\n    testImplementation 'org.mockito:mockito-inline'\n}<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\">static\u30e1\u30bd\u30c3\u30c9\u306eMock\u5316<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f8b\u3068\u3057\u3066LocalDate\u3092Mock\u5316\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>import org.junit.jupiter.api.Test;\nimport org.mockito.MockedStatic;\n\nimport java.time.LocalDate;\n\nimport static org.assertj.core.api.Assertions.assertThat;\nimport static org.mockito.Mockito.mockStatic;\n\npublic class StaticMethodMock {\n    @Test\n    void test() {\n        var mockedValue = LocalDate.of(2022, 3, 1);\n\n        \/\/ Mock\u5316\u306e\u6e96\u5099\u3002close()\u306e\u5fc5\u8981\u304c\u3042\u308b\u306e\u3067 try with resource\u6587\u3067\n        try (MockedStatic&lt;LocalDate&gt; mockedLocalDate = mockStatic(LocalDate.class)) {\n            \/\/ static\u30e1\u30bd\u30c3\u30c9\u306eMock\u5316\n            mockedLocalDate.when(() -&gt; LocalDate.now()).thenReturn(mockedValue);\n\n            \/\/ static\u30e1\u30bd\u30c3\u30c9\u306e\u547c\u3073\u51fa\u3057\n            var actual = LocalDate.now();\n\n            \/\/ \u623b\u308a\u5024\u306e\u691c\u8a3c\n            assertThat(actual.toString()).isEqualTo(\"2022-03-01\");\n\n            \/\/ static\u30e1\u30bd\u30c3\u30c9\u306e\u547c\u3073\u51fa\u3055\u308c\u65b9\u306e\u691c\u8a3c\n            mockedLocalDate.verify(() -&gt; LocalDate.now());\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n<p><\/p><div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/javadoc.io\/doc\/org.mockito\/mockito-core\/4.5.0\/org\/mockito\/Mockito.html#static_mocks\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><img loading=\"lazy\" decoding=\"async\" class=\"lkc-favicon\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=javadoc.io\" alt=\"\" width=\"16\" height=\"16\"><div class=\"lkc-domain\">javadoc.io<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"https:\/\/s.wordpress.com\/mshots\/v1\/https%3A%2F%2Fjavadoc.io%2Fdoc%2Forg.mockito%2Fmockito-core%2F4.5.0%2Forg%2Fmockito%2FMockito.html%23static_mocks?w=200\" alt=\"\"><\/figure><div class=\"lkc-title\"><div class=\"lkc-title-text\">Mockito \u2013 mockito-core 4.5.0 javadoc<\/div><\/div><div class=\"lkc-url\">https:\/\/javadoc.io\/doc\/org.mockito\/mockito-core\/4.5.0\/org\/mockito\/Mockito.html#static_mocks<\/div><div class=\"lkc-excerpt\"><\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\">\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306eMock\u5316<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f8b\u3068\u3057\u3066Random\u3092Mock\u5316\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>import org.junit.jupiter.api.Test;\nimport org.mockito.MockedConstruction;\n\nimport java.util.Random;\n\nimport static org.assertj.core.api.Assertions.assertThat;\nimport static org.mockito.Mockito.mockConstruction;\nimport static org.mockito.Mockito.times;\nimport static org.mockito.Mockito.verify;\nimport static org.mockito.Mockito.when;\n\npublic class ConstructorMock {\n    @Test\n    void test() {\n        \/\/ Mock\u5316\u306e\u6e96\u5099\u3002close()\u306e\u5fc5\u8981\u304c\u3042\u308b\u306e\u3067 try with resource\u6587\u3067\n        try (MockedConstruction&lt;Random&gt; mockedRandom = mockConstruction(Random.class)) {\n            \/\/ Mock\u5316\u3055\u308c\u305f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u751f\u6210\u3055\u308c\u308b\n            var random = new Random();\n            \n            \/\/ Mock\u52d5\u4f5c\u3092\u6307\u5b9a\uff08\u901a\u5e38\u306eMock\u3068\u4e00\u7dd2\uff09\n            when(random.nextInt()).thenReturn(1);\n\n            assertThat(random.nextInt()).isEqualTo(1);\n            assertThat(random.nextInt()).isEqualTo(1);\n            assertThat(random.nextInt()).isEqualTo(1);\n\n            \/\/ Mock\u547c\u3073\u51fa\u3055\u308c\u65b9\u3092\u691c\u8a3c\uff08\u901a\u5e38\u306eMock\u3068\u4e00\u7dd2\uff09\n            verify(random, times(3)).nextInt();\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n<p><\/p><div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/javadoc.io\/doc\/org.mockito\/mockito-core\/4.5.0\/org\/mockito\/Mockito.html#mocked_construction\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><img loading=\"lazy\" decoding=\"async\" class=\"lkc-favicon\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=javadoc.io\" alt=\"\" width=\"16\" height=\"16\"><div class=\"lkc-domain\">javadoc.io<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"https:\/\/s.wordpress.com\/mshots\/v1\/https%3A%2F%2Fjavadoc.io%2Fdoc%2Forg.mockito%2Fmockito-core%2F4.5.0%2Forg%2Fmockito%2FMockito.html%23mocked_construction?w=200\" alt=\"\"><\/figure><div class=\"lkc-title\"><div class=\"lkc-title-text\">Mockito \u2013 mockito-core 4.5.0 javadoc<\/div><\/div><div class=\"lkc-url\">https:\/\/javadoc.io\/doc\/org.mockito\/mockito-core\/4.5.0\/org\/mockito\/Mockito.html#mocked_construction<\/div><div class=\"lkc-excerpt\"><\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-3\">\u307e\u3068\u3081<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">static\u30e1\u30bd\u30c3\u30c9\u3084\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u30e2\u30c3\u30af\u5316\u306e\u65b9\u6cd5\u3068\u3057\u3066\u3001<code>mockStatic<\/code>\u3068<code>mockConstruction<\/code>\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\uff01<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u4ee5\u5916\u306eJUnit5\u306e\u5b9f\u88c5\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3082\u77e5\u308a\u305f\u3044\u3068\u3044\u3046\u65b9\u306f\u3053\u3061\u3089\u306e\u8a18\u4e8b\u3082\u3054\u89a7\u304f\u3060\u3055\u3044\uff01<\/p>\n\n\n<a class=\"linkto table\" href=\"https:\/\/hirabay.net\/?p=164\"><span class=\"tbcell tbimg\"><img loading=\"lazy\" decoding=\"async\" width=\"160\" height=\"160\" src=\"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/junit5_cheatsheet-160x160.png\" class=\"attachment-thumb-160 size-thumb-160 wp-post-image\" alt=\"\" srcset=\"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/junit5_cheatsheet-160x160.png 160w, https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/junit5_cheatsheet-150x150.png 150w\" sizes=\"auto, (max-width: 160px) 100vw, 160px\"><\/span><span class=\"tbcell tbtext\"><time class=\"pubdate sng-link-time dfont\" itemprop=\"datePublished\" datetime=\"2023-01-23\">2023\u5e741\u670823\u65e5<\/time>\u3010Java\uff06Kotlin\u3011\u5b9f\u52d9\u3067\u4f7f\u3048\u308bJUnit5\u30c6\u30b9\u30c8\u30b3\u30fc\u30c9<\/span><\/a>","protected":false},"excerpt":{"rendered":"<p>Junit5\u3067static\u30e1\u30bd\u30c3\u30c9\u3084\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092Mock\u5316\u3059\u308b\u65b9\u6cd5\u3092\u307e\u3068\u3081\u307e\u3059\u3002 Warning: Undefined array key &#8220;is_admin&#8221; in \/home\/c4179872\/public_ht &#8230; <\/p>\n","protected":false},"author":1,"featured_media":27,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[5,4],"class_list":["post-9","post","type-post","status-publish","format-standard","has-post-thumbnail","category-6","tag-junit5","tag-mockito"],"jetpack_featured_media_url":"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/60cfa1f09c9254967b9830b627e88f89.png","_links":{"self":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":14,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":313,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions\/313"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/media\/27"}],"wp:attachment":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}