{"id":44365,"date":"2020-07-06T23:15:34","date_gmt":"2020-07-06T14:15:34","guid":{"rendered":"https:\/\/www.charlezz.com\/?p=44365"},"modified":"2020-07-06T23:15:34","modified_gmt":"2020-07-06T14:15:34","slug":"hilt-10-2-design-decisions-%ed%85%8c%ec%8a%a4%ed%8a%b8-%ec%b2%a0%ed%95%99","status":"publish","type":"post","link":"https:\/\/charlezz.com\/?p=44365","title":{"rendered":"[Hilt] 10.2 Design Decisions &#8211; \ud14c\uc2a4\ud2b8 \ucca0\ud559"},"content":{"rendered":"<p><a href=\"https:\/\/dagger.dev\/hilt\/testing-philosophy\">https:\/\/dagger.dev\/hilt\/testing-philosophy<\/a><\/p>\n<hr \/>\n<p><a href=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/1078edcee19384aeeaa25f053a09c82c.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/1078edcee19384aeeaa25f053a09c82c-236x300.png\" alt=\"\" width=\"236\" height=\"300\" class=\"aligncenter size-medium wp-image-44317\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/1078edcee19384aeeaa25f053a09c82c-236x300.png 236w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/1078edcee19384aeeaa25f053a09c82c-768x975.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/1078edcee19384aeeaa25f053a09c82c-807x1024.png 807w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/1078edcee19384aeeaa25f053a09c82c.png 1145w\" sizes=\"(max-width: 236px) 100vw, 236px\" \/><\/a><\/p>\n<h1>10.2 Design Decisions &#8211; Testing Philosophy<\/h1>\n<h2>\uac1c\uc694<\/h2>\n<p>\uc774 \ud398\uc774\uc9c0\ub294 Hilt\ub97c \uc0ac\uc6a9\ud558\ub294 \ud14c\uc2a4\ud2b8 \uc0ac\ub840\ub97c \uc124\uba85\ud558\ub294 \uac83\uc744 \ubaa9\ud45c\ub85c \ud55c\ub2e4. Hilt\uc758 \ub9ce\uc740 API\uc640 \uae30\ub2a5 ( \uadf8\ub9ac\uace0 \ud2b9\uc815 \uae30\ub2a5\uc758 \ubd80\uc871\ud568)\uc740 \uc88b\uc740 \ud14c\uc2a4\ud2b8\ub97c \ub9cc\ub4dc\ub294 \uac83\uc5d0 \ub300\ud55c \ubb34\uc5b8\uc758 \ucca0\ud559\uc744 \ubc14\ud0d5\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc84c\ub2e4. \uc88b\uc740 \ud14c\uc2a4\ud2b8\uc758 \uac1c\ub150\uc740 \ubcf4\ud3b8\uc801\uc73c\ub85c \ud569\uc758 \ub41c \uac83\uc740 \uc544\ub2c8\uae30 \ub54c\ubb38\uc5d0 \uc774 \ubb38\uc11c\ub294 Hilt \ud300\uc758 \ud14c\uc2a4\ud2b8 \ucca0\ud559\uc744 \uba85\ud655\ud788 \ud558\ub294 \uac83\uc744 \ubaa9\ud45c\ub85c \ud55c\ub2e4.<\/p>\n<h2>\ud14c\uc2a4\ud2b8\ud574\uc57c \ud558\ub294 \uac83<\/h2>\n<p>Hilt\ub294 \uc678\ubd80 \uc0ac\uc6a9\uc790\uc758 \uad00\uc810\uc5d0\uc11c \uac00\ub2a5\ud55c \ub9ce\uc740 \ud14c\uc2a4\ud2b8\ud558\ub294 \uac83\uc744 \uc7a5\ub824\ud55c\ub2e4. \uc678\ubd80 \uc0ac\uc6a9\uc790 \uad00\uc810\uc5d0\uc11c\ub77c\ub294 \uac83\uc740 \ub9ce\uc740 \uac83\uc744 \uc758\ubbf8 \ud55c\ub2e4. \uadf8\uac83\uc740 \uc571 \ub610\ub294 \uc11c\ube44\uc2a4\uc758 \uc2e4\uc81c \uc0ac\uc6a9\uc790\uac00 \ub420 \uc218\ub3c4 \uc788\uace0, API \ub610\ub294 \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \ub354 \ub9ce\uc740 \ubc94\uc704\uc758 \uc0ac\uc6a9\uc790\uac00 \ub420 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n<p>\ud575\uc2ec\uc801\uc778 \ubd80\ubd84\uc740 \ud14c\uc2a4\ud2b8\uac00 \uc138\ubd80\uc801\uc778 \uad6c\ud604\uc5d0 \ub300\ud55c \ub0b4\uc6a9\uae4c\uc9c0 \uc791\uc131\ud558\uc9c0 \uc54a\ub294\ub2e4\ub294 \uc810\uc774\ub2e4. \ub0b4\ubd80 \uba54\uc11c\ub4dc\uac00 \ud638\ucd9c\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud558\ub294 \uac83 \ucc98\ub7fc \uc138\ubd80\uc801\uc778 \uad6c\ud604\uc5d0 \ub300\ud55c \uac83\uc740 \ubd88\uc548\uc815\ud55c \ud14c\uc2a4\ud2b8\ub97c \uc720\ubc1c\ud55c\ub2e4. \ub9ac\ud329\ud1a0\ub9c1\uc2dc \ub0b4\ubd80 \uba54\uc11c\ub4dc\uc758 \uc774\ub984\uc774 \ubcc0\uacbd\ub41c\ub2e4\uba74 \uc88b\uc740 \ud14c\uc2a4\ud2b8\uc758 \uacbd\uc6b0\uc5d0\ub294 \uac31\uc2e0\uc774 \ud544\uc694 \uc5c6\uc744 \uac83\uc774\ub2e4. \uae30\uc874 \ud14c\uc2a4\ud2b8\uac00 \uae68\uc9c0\ub294 \uc720\uc77c\ud55c \ubcc0\uacbd\uc0ac\ud56d\uc740 \uc0ac\uc6a9\uc790\uac00 \ubcfc \uc218\uc788\ub294 \ub3d9\uc791\uc744 \ubcc0\uacbd\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<h2>\uc2e4\uc81c \uc758\uc874\uc131 \uc0ac\uc6a9\ud558\uae30<\/h2>\n<p>Hilt\uc758 \ud14c\uc2a4\ud2b8 \ucca0\ud559\uc740 \ubaa8\ub4e0 \ud074\ub798\uc2a4\uac00 \uc790\uccb4 \ud14c\uc2a4\ud2b8\ub97c \uac00\uc838\uc57c \ud558\ub294 \uc5c4\uaca9\ud55c \uaddc\uce59\uc744 \uaddc\uc815\ud558\uc9c0\ub294 \uc54a\ub294\ub2e4. \uc2e4\uc81c\ub85c \uc774\ub7ec\ud55c \uaddc\uce59\uc740 \uc77c\ubc18\uc801\uc73c\ub85c \uc0ac\uc6a9\uc790\uc758 \uad00\uc810\uc5d0\uc11c \uc704\uc758 \ud14c\uc2a4\ud2b8 \uc6d0\uce59\uc744 \uc704\ubc18\ud55c\ub2e4. \ud14c\uc2a4\ud2b8\ub294 \uc791\uc131 \ubc0f \uc2e4\ud589\uc774 \ud3b8\ub9ac\ud558\ub3c4\ub85d \ud544\uc694\ud55c \ub9cc\ud07c\ub9cc \uc791\uc544\uc57c \ud55c\ub2e4(\uc608. \ube60\ub974\uac70\ub098 \ub610\ub294 \ub9ac\uc18c\uc2a4 \uc9d1\uc57d\uc774\uc9c0 \uc54a\uac8c \uc791\uc544\uc57c \ud55c\ub2e4.). \ub2e4\ub978 \ubaa8\ub4e0\uac83\uc774 \ub3d9\uc77c\ud558\ub2e4\uba74 \ud14c\uc2a4\ud2b8\ub294 \uc774 \uc21c\uc11c\ub300\ub85c \uc9c4\ud589\ub418\ub294 \uac83\uc774 \uc88b\ub2e4.<\/p>\n<ul>\n<li>\uc758\uc874\uc131\uc5d0 \ub300\ud55c \uc2e4\uc81c\ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\ub77c<\/li>\n<li>\ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uc758\ud574 \uc81c\uacf5\ub41c \ud45c\uc900 Fake\ub97c \uc0ac\uc6a9\ud558\ub77c<\/li>\n<li>Mock\uc740 \ucd5c\ud6c4\uc758 \uc218\ub2e8\uc73c\ub85c \uc0ac\uc6a9\ud558\ub77c<\/li>\n<\/ul>\n<p>\uadf8\ub807\uc9c0\ub9cc \ud2b8\ub808\uc774\ub4dc \uc624\ud504\ub3c4 \uc874\uc7ac\ud55c\ub2e4. \ud14c\uc2a4\ud2b8\uc5d0\uc11c \uc2e4\uc81c \uc758\uc874\uc131\/\uc2e4\uc81c \uc758\uc874\uc131 \uc8fc\uc785\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc740 \ud558\ub098 \ub610\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc774\uc720\ub4e4\ub85c \uc778\ud574 \uc81c\ud55c\uc801\uc73c\ub85c \uc5b4\ub824\uc6b8 \uc218 \uc788\ub2e4:<\/p>\n<ul>\n<li>\uc2e4\uc81c \uc758\uc874\uc131 \uc8fc\uc785\uc744 \uc124\uc815\ud558\uace0 \uc778\uc2a4\ud134\uc2a4\ud654\ud558\ub294 \uac83\uc740 \ub108\ubb34 \ub9ce\uc740 \ubcf4\uc77c\ub7ec\ud50c\ub808\uc774\ud2b8 \ucf54\ub4dc \ub610\ub294 \ubc18\ubcf5\ub418\ub294 \ucf54\ub4dc\ub97c \ub9cc\ub4e0\ub2e4.<\/li>\n<li>\uc2e4\uc81c \uc758\uc874\uc131\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc740 \ud37c\ud3ec\uba3c\uc2a4 \ubb38\uc81c\uc5d0 \uc9c1\uba74\ud558\uac8c \ub41c\ub2e4.(\ubc31\uc5d4\ub4dc \uc11c\ubc84\ub97c \uc2dc\uc791\ud558\ub294 \uac83\uc744 \ud544\uc694\ub85c \ud558\ub294 \uac83 \ucc98\ub7fc)<\/li>\n<\/ul>\n<p>Hilt\ub294 \uccab\ubc88\uc9f8\uc640 \uac19\uc740 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud574 \uc124\uacc4\ub418\uc5c8\ub2e4. \uc131\ub2a5\uc740 \ubb38\uc81c\uc77c \uc218 \uc788\uc9c0\ub9cc, \uc131\ub2a5\uc740 \ub300\ubd80\ubd84\uc758 \uc758\uc874\uc131\uc5d0 \ub300\ud574 \ubb38\uc81c\uac00 \ub418\uc9c0 \uc54a\ub294\ub2e4. \uc774\ub294 \uc911\ub300\ud55c I\/O\ub97c \uac00\uc9c4 \uc758\uc874\uc131\uc744 \uc0ac\uc6a9\ud560 \ub54c\ub9cc \ubb38\uc81c\uac00 \ub420 \uc218 \uc788\ub2e4. \uadf8\ub798\uc11c \uc131\ub2a5\uc744 \ud06c\uac8c \ub5a8\uc5b4\ub728\ub9ac\uc9c0 \uc54a\uc73c\uba74\uc11c \ub354 \ub9ce\uc740 \uc2e4\uc81c \uc758\uc874\uc131\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud14c\uc2a4\ud2b8\ub97c \ubcf4\ub2e4 \ud3b8\ub9ac\ud558\uace0 \uac15\ub825\ud558\uac8c \uc791\uc131\ud560 \uc218 \uc788\ub294 \uacbd\uc6b0, \uc2e4\uc81c \uc758\uc874\uc131\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc791\uc131\ud574\uc57c \ud55c\ub2e4. \ud14c\uc2a4\ud2b8\uc5d0\uc11c \ud070 \ubd80\uc815\uc801\uc778 \uc601\ud5a5\uc744 \ubbf8\uce58\ub294 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0 Hilt\ub294 \ubc14\uc778\ub529\uc744 \uad50\uccb4\ud558\ub294 \uc218\ub2e8\uc744 \uc81c\uacf5\ud55c\ub2e4.<\/p>\n<p>\ub354 \ub9ce\uc740 \uc2e4\uc81c \uc758\uc874\uc131\uc744 \uc0ac\uc6a9\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uc911\uc694\ud55c \uc774\uc810\uc774 \uc788\ub2e4:<\/p>\n<ul>\n<li>\uc2e4\uc81c \uc758\uc874\uc131\uc740 \uc2e4\uc81c \ubb38\uc81c\ub97c \uc7a1\uc544\ub0bc \uac00\ub2a5\uc131\uc774 \ub354 \ub192\ub2e4. \uc2e4\uc81c \uc758\uc874\uc131\uc740 Mocking \ud558\ub294 \uac83\uacfc \ub2ec\ub9ac \ud56d\uc0c1 \ucd5c\uc2e0 \uc0c1\ud0dc\ub97c \uc720\uc9c0 \ud55c\ub2e4.<\/li>\n<li>\uc0ac\uc6a9\uc790 \uad00\uc810\uc5d0\uc11c \uc704\uc758 \ud14c\uc2a4\ud2b8 \uc6d0\uce59\uacfc \ubd80\ud569\ud558\uc5ec \ub3d9\uc77c\ud55c \uc801\uc6a9 \ubc94\uc704\uc5d0 \ub300\ud574 \ub354 \uc801\uc740 \ud14c\uc2a4\ud2b8\ub97c \uc791\uc131\ud558\uac8c \ub41c\ub2e4.<\/li>\n<li>\ud14c\uc2a4\ud2b8\uac00 \uae68\uc9c4\ub2e4\ub294 \uac83\uc740 \uc798\ubabb \uad6c\uc131\ub41c Fake \ub610\ub294 Mock \ub300\uc2e0 \uc2e4\uc81c \ubb38\uc81c\ub97c \ub098\ud0c0\ub0b8\ub2e4.<\/li>\n<li>\ub354 \ub9ce\uc740 \uc2e4\uc81c \uc758\uc874\uc131\uc744 \uc0ac\uc6a9\ud558\uba74 \uc0ac\uc6a9\uc790\uc758 \uad00\uc810\uc5d0\uc11c \ud14c\uc2a4\ud2b8 \ud558\ub294 \uc704\uc758 \uc6d0\uce59\uacfc \uc885\uc885 \uad00\ub828\uc774 \uc788\ub2e4.<\/li>\n<\/ul>\n<p>\uadf8\ub798\ub3c4 \uc2e4\uc81c \uc758\uc874\uc131\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc73c\uba74 \uc77c\ubc18\uc801\uc73c\ub85c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ud45c\uc900 Fake\uac00 \ub2e4\uc74c\uc73c\ub85c \uc88b\uc740 \uc120\ud0dd\uc9c0\ub2e4. \ub77c\uc774\ube0c\ub7ec\ub9ac \uc81c\uc791\uc790\uac00 \uc720\uc9c0\ubcf4\uc218\ud558\ub294 \ud504\ub85c\ub355\uc158 \ucf54\ub4dc\uc640 \ub3d9\uae30\ud654 \ub420 \uac00\ub2a5\uc131\uc774 \ub192\uae30 \ub54c\ubb38\uc5d0 \ud45c\uc900 Fake\ub294 Mock\ubcf4\ub2e4 \ub0ab\ub2e4. \uc774\ub7ec\ud55c \uc774\uc720\ub85c Mock\uc740 \uc77c\ubc18\uc801\uc73c\ub85c \ucd5c\ud6c4\uc758 \uc218\ub2e8\uc73c\ub85c \uc120\ud0dd\ub41c\ub2e4.<\/p>\n<h2>Hilt, \uc758\uc874\uc131 \uc8fc\uc785 \uadf8\ub9ac\uace0 \ud14c\uc2a4\ud2b8<\/h2>\n<p>\ud14c\uc2a4\ud2b8\uc5d0 \ub300\ud55c \uae30\ucd08\uac00 \uc124\uba85\ub418\uc5c8\uc73c\ubbc0\ub85c \uc774\uc81c Hilt, \uc758\uc874\uc131 \uc8fc\uc785 \ubc0f \ud14c\uc2a4\ud2b8\uc758 \ud2b9\uc131\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uc790. \uc2e4\uc81c \uac1d\uccb4\ub97c \uc0ac\uc6a9\ud55c\ub2e4\ub294 \ucca0\ud559\uc5d0 \ub530\ub77c Hilt\ub294 \ud14c\uc2a4\ud2b8\uc5d0 \uc758\uc874\uc131 \uc8fc\uc785 \/ Dagger\ub97c \uc0ac\uc6a9\ud55c\ub2e4. \uc774\ub294 \ud504\ub85c\ub355\uc158 \ucf54\ub4dc\uc5d0\uc11c \uac1d\uccb4\uac00 \uc0dd\uc131\ub418\uae30 \ub54c\ubb38\uc5d0 \ub354\uc6b1 \ud604\uc2e4\uc801\uc774\ub2e4. \uc989, \ud14c\uc2a4\ud2b8\ub294 \ud504\ub85c\ub355\uc158 \ucf54\ub4dc\ubcf4\ub2e4 \uae68\uc9c0\uae30 \uc27d\uc9c0 \uc54a\uc73c\uba70 \uc2e4\uc81c \uac1d\uccb4\ub97c \ubcf4\ub2e4 \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. \uc2e4\uc81c\ub85c @Inject \uc0dd\uc131\uc790\ub97c \uac00\uc9c4 \ud0c0\uc785\uc758 \uacbd\uc6b0, \uc2e4\uc81c\ub85c \uc774 \uc870\uc5b8\uc744 \ub530\ub974\uace0 \uc2e4\uc81c \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 Mock\ub97c \uad6c\uc131\ud558\uace0 \ubc14\uc778\ub529\ud558\ub294 \uac83\ubcf4\ub2e4 \uc27d\uace0 \uc801\uc740 \ucf54\ub4dc\ub97c \uac16\ub294\ub2e4.<\/p>\n<p>\ubd88\ud589\ud788\ub3c4, Hilt\uac00 \uc5c6\ub294 \uc774\ub7f0 \uc885\ub958\uc758 \ud14c\uc2a4\ud2b8\ub294 \uc804\ud1b5\uc801\uc73c\ub85c \ubcf4\uc77c\ub7ec\ud50c\ub808\uc774\ud2b8 \ucf54\ub4dc\uc640 \ud14c\uc2a4\ud2b8\uc5d0\uc11c Dagger\ub97c \uc124\uc815\ud558\uae30 \uc704\ud55c \ucd94\uac00 \uc791\uc5c5\uc73c\ub85c \uc778\ud574 \uc2e4\uc81c\ub85c \uc5b4\ub824\uc6e0\ub2e4. \uadf8\ub7ec\ub098 Hilt\ub294 \ubcf4\uc77c\ub7ec\ud50c\ub808\uc774\ud2b8 \ucf54\ub4dc\ub97c \uc0dd\uc131\ud558\uace0 Fake \ub610\ub294 Mock\uc774 \ud544\uc694\ud560 \ub54c \ud14c\uc2a4\ud2b8\ub97c \uc704\ud55c \ub2e4\uc591\ud55c \ubc14\uc778\ub529 \uad6c\uc131\uc744 \uc124\uc815\ud558\ub294 \uba85\ud655\ud55c \uc2a4\ud1a0\ub9ac\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4. Hilt\uc640 \ud568\uaed8 \uc774 \ubb38\uc81c\ub294 \ub354 \uc774\uc0c1 Dagger\ub85c \ud14c\uc2a4\ud2b8\ub97c \uc791\uc131\ud558\ub294 \ub370 \ubc29\ud574\uac00 \ub418\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uc2e4\uc81c \uc758\uc874\uc131\uc744 \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<h2>Dagger\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc544 \uc0dd\uae30\ub294 \ub2e8\uc810<\/h2>\n<p>\uc720\ub2db \ud14c\uc2a4\ud2b8\uc5d0\uc11c Dagger\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \uac83\uc740 \uc2e4\uc81c\ub85c \ub9e4\uc6b0 \uc77c\ubc18\uc801\uc774\ub2e4. \uc774\ub7f0 \uc810\uc740 \uc0c1\ub2f9\ud788 \ub2e8\uc810\uc73c\ub85c \uc791\uc6a9\ud558\uc9c0\ub9cc, \ud14c\uc2a4\ud2b8\uc5d0\uc11c Hilt \uc5c6\uc774 Dagger\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \ub354 \uc5b4\ub835\ub2e4\ub294 \uc810\uc744 \uac10\uc548\ud558\uba74 \uc774\ud574\ud560 \ub9cc\ud55c \ubc29\ubc95\uc774\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uc5b4 \ud14c\uc2a4\ud2b8\ud558\ub824\ub294 Foo \ud074\ub798\uc2a4\uac00 \uc788\ub2e4\uace0 \uac00\uc815\ud558\uc790:<\/p>\n<pre><code class=\"language-kotlin\">class Foo @Inject constructor(bar: Bar) {\r\n}\r\n<\/code><\/pre>\n<p>\uc774 \uacbd\uc6b0 Dagger\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc73c\uba74 \ud14c\uc2a4\ud2b8\ub294 \uc0dd\uc131\uc790\ub97c \ud638\ucd9c\ud558\uc5ec Foo\ub97c \uc9c1\uc811 \uc778\uc2a4\ud134\uc2a4\ud654\ud55c\ub2e4. \uc5b8\ub73b \ubcf4\uae30\uc5d0 \uc774\uac83\uc740 \ub9e4\uc6b0 \uac04\ub2e8\ud574 \ubcf4\uc774\uc9c0\ub9cc, Foo\uc758 \uc0dd\uc131\uc790\uc5d0 Bar \uc778\uc2a4\ud134\uc2a4\ub97c \uc81c\uacf5\ud574\uc57c\ub9cc \ud55c\ub2e4.<\/p>\n<h3>\uc9c1\uc811 \uc778\uc2a4\ud134\uc2a4\ud654 \ud558\ub294 \ub300\uc2e0 Mock\uc73c\ub85c \ud14c\uc2a4\ud2b8\ub97c \ud558\uc790.<\/h3>\n<p>\uc55e\uc5d0\uc11c \uc124\uba85\ud55c \ud14c\uc2a4\ud2b8 \ucca0\ud559\uc5d0 \ub530\ub974\uba74, \uc2e4\uc81c Bar \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\ub2e4. \ud558\uc9c0\ub9cc, \uc5b4\ub5bb\uac8c \ud574\uc57c\ud560\uae4c? \uc774\ub294 \uc0ac\uc2e4 \ud14c\uc2a4\ud2b8 \ud558\uae30 \uc704\ud574 \uc2e4\uc81c Foo \ud074\ub798\uc2a4\ub97c \uc5bb\ub294 \uac83\uc744 \ubc18\ubcf5\ud558\ub294 \uac83\uc774\ub2e4: Foo\ub97c \uc9c1\uc811 \uc778\uc2a4\ud134\uc2a4\ud654 \ud574\uc57c \ud558\uba70 Bar\uac00 \uc790\uccb4\uc758 \uc758\uc874\uc131\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4\uba74, \uadf8\uac83 \ub610\ud55c \ube44\uc2b7\ud558\uac8c \uc778\uc2a4\ud134\uc2a4\ud654 \ud574\uc57c\ud558\ub294 \uc791\uc5c5\uc774 \ud544\uc694\ud558\ub2e4. \ub108\ubb34 \ubcf5\uc7a1\ud558\uc9c0 \uc54a\uac8c \ud558\uae30 \uc704\ud574 Fake \ub610\ub294 Mock\uc744 \uc0ac\uc6a9\ud574\uc57c \ud55c\ub2e4. \uaf2d \ud14c\uc2a4\ud2b8 \uc18d\ub3c4\ub098 \uc131\ub2a5\uc5d0 \ub54c\ubb38\uc740 \uc544\ub2c8\uc9c0\ub9cc, \uc720\uc9c0\ubcf4\uc218 \ubb38\uc81c\ub97c \uc57c\uae30\ud558\ub294 \ubd88\uc548\uc815\ud55c \ubcf4\uc77c\ub7ec \ud50c\ub808\uc774\ud2b8 \ucf54\ub4dc\uc758 \uc0ac\uc6a9\uc744 \ud53c\ud558\uae30 \uc704\ud574\uc11c\ub2e4. \uc774\uac83\uc774 Fake \ub610\ub294 Mock\uc744 \uc0ac\uc6a9\ud558\ub294 \ud0c0\ub2f9\ud55c \uc774\uc720\ub294 \uc544\ub2c8\uc9c0\ub9cc \uc5b4\uca0c\ub4e0 \uadf8\ub807\uac8c \ud558\ub294 \uac83\uc774 \uc88b\ub2e4.<\/p>\n<p>\uc704\uc5d0\uc11c \uc5b8\uae09\ud55c \ub300\uc548\uc740 \uc77c\ubc18\uc801\uc778 Fake\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774\ub2e4. \uc774\ub294 \uc758\uc874\uad00\uacc4\ub97c \ub04a\uace0 \uc9c1\uc811\uc801\uc778 \uc778\uc2a4\ud134\uc2a4\ud654\uc758 \uc720\uc9c0 \uad00\ub9ac\uc758 \ubd80\ub2f4\uc744 \uac10\uc18c\uc2dc\ud0a8\ub2e4. \uadf8\ub7ec\ub098 \ud56d\uc0c1 \ubaa8\ub4e0\uac8c \uadf8\ub807\uac8c \uac04\ub2e8\ud558\uc9c0\ub294 \uc54a\ub2e4. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0\uc5d0 Fake\ub294 \uae30\uc874 \ud074\ub798\uc2a4\uc640 \ube44\uc2b7\ud55c \uc758\uc874\uc131\uc744 \ud544\uc694\ub85c \ud558\uac8c \ub41c\ub2e4. \uc608\ub97c \ub4e4\uba74 \uc2e4\uc81c Bar\uac00 Clock\uc744 \ud544\uc694\ub85c \ud55c\ub2e4\uba74, FakeBar\ub3c4 \uacb0\uad6d\uc740 FakeClock\uc744 \ud544\uc694\ub85c \ud55c\ub2e4. FakeClock\uc774 \uc11c\ub85c \ub2e4\ub978 \ud074\ub798\uc2a4\uac04\uc5d0 \ud754\ud788 \uc870\uc815\uc744 \ud574\uc8fc\uae30 \ub54c\ubb38\uc774\ub2e4 (Foo\uc5d0 Clock\uc744 \uc0ac\uc6a9\ud558\ub294 \ub2e4\ub978 \uc758\uc874\uc131 Baz\uac00 \uc788\ub2e4\uace0 \uac00\uc815\ud558\uba74, FakeBaz\ub294 \ub3d9\uc77c\ud558\uac8c FakeClock \uc778\uc2a4\ud134\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2dc\uac04\uc774 \uc9c0\ub0a0 \ub54c \uae30\ub2a5\uc774 \uc798 \ub3d9\uc791\ud558\ub3c4\ub85d \ud560 \uac83\uc774\ub2e4). \uc774\ub7f0\uc2dd\uc73c\ub85c \uc758\uc874\uc131\uc744 \uad00\ub9ac\ud558\ub2e4\ubcf4\uba74 \uae09\uc18d\ub3c4\ub85c \uac10\ub2f9\ud560 \uc218 \uc5c6\uac8c \ub41c\ub2e4.<\/p>\n<p>\uc774\ub7f0 \ubd80\ubd84 \ub54c\ubb38\uc5d0 \uc77c\ubc18\uc801\uc73c\ub85c Mock\uc73c\ub85c \ud14c\uc2a4\ud2b8\ub97c \uc791\uc131\ud574\uc57c \ud55c\ub2e4. Mock\uc73c\ub85c \ud14c\uc2a4\ud2b8\ub97c \ud558\ub294 \uac83\uc740 \uc774\ub7ec\ud55c \uc758\uc874\uc131 \uccb4\uc774\ub2dd \ubb38\uc81c\ub97c \ud574\uacb0\ud574 \uc900\ub2e4. \ud558\uc9c0\ub9cc \uc790\ub3d9\uc73c\ub85c \uc27d\uac8c \ucd5c\uc2e0 \uc815\ubcf4\ub97c \uc5bb\uc9c0 \ubabb\ud558\uace0, \uc2e4\uc81c \ubc84\uadf8\ub97c \ucc3e\ub294 \uc804\uccb4 \ubaa9\ud45c\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ub97c \uc4f8\ubaa8 \uc5c6\uac8c \ub9cc\ub4e4 \uc218 \uc788\ub2e4\ub294 \uc911\ub300\ud55c \ub2e8\uc810\uc744 \uac16\uac8c \ub420 \uc218\ub3c4 \uc788\ub2e4. \ud14c\uc2a4\ud2b8 \uc791\uc131\uc790 \uc678\uc5d0 Mock \ud14c\uc2a4\ud2b8\uc758 \ub3d9\uc791\uc744 \ud655\uc778\ud558\ub294 \uc0ac\ub78c\uc774 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc77c\ubc18\uc801\uc73c\ub85c \ucda9\ubd84\ud55c \uc2dc\uac04\uc774 \uc9c0\ub098\uba74 \ud14c\uc2a4\ud2b8\uc5d0\uc11c \ub354 \uc774\uc0c1 \uc720\uc6a9\ud55c \uc2dc\ub098\ub9ac\uc624\ub97c \ud14c\uc2a4\ud2b8\ud558\uc9c0 \uc54a\uc744 \uac00\ub2a5\uc131\uc774 \ub192\ub2e4.<\/p>\n<h3>\uc9c1\uc811 \uc778\uc2a4\ud134\uc2a4\ud654 \ud558\ub294 \uac83\uc740 \ud14c\uc2a4\ud2b8\uc5d0\uc11c \uc138\uc138\ud55c \uad6c\ud604\uae4c\uc9c0 \ud574\uc57c \ud55c\ub2e4.<\/h3>\n<p>\uc9c1\uc811\uc801\uc73c\ub85c \uc778\uc2a4\ud134\uc2a4\ud654\ub97c \ud558\uba74 \uc0dd\uc131\uc790 \ud638\ucd9c\uc774 \uc758\uc874\uc131\uc758 \uc138\ubd80 \uc815\ubcf4\ub97c \ud45c\ud604\ud558\uae30 \ub54c\ubb38\uc5d0 \ud14c\uc2a4\ud2b8\uc5d0\uc11c \uad6c\ud604 \uc138\ubd80 \uc815\ubcf4\uae4c\uc9c0 \uc791\uc131\ud558\uc9c0 \uc54a\ub294\ub2e4\ub294 \ucca0\ud559\uc744 \uae68\ub728\ub9ac\uac8c \ub41c\ub2e4. Bar\ub97c @Inject \uc0dd\uc131\uc790\uc758 \ub9e4\uac1c\ubcc0\uc218\ub85c \uac16\ub294 \uacbd\uc6b0 Foo\ub97c \uc0ac\uc6a9 \ud558\ub294 \uc785\uc7a5\uc5d0\uc11c\ub294 Bar \ud074\ub798\uc2a4\uc758 \uc874\uc7ac\uc5d0 \ub300\ud574 \uc54c\uc544\uc57c \ud560 \uc774\uc720\uac00 \uc5c6\ub2e4. Foo\uc758 \ub9ac\ud329\ud1a0\ub9c1 \ub85c\uc9c1\uc774 \ub2e4\ub978 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 private \ud074\ub798\uc2a4\uc5d0 \uc138\ubd80 \uad6c\ud604\uc0ac\ud56d\uc774 \ub420 \uc218 \uc788\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n<p>\uc774\ub97c \uc2e4\ub840\ub85c \ubcf4\uae30 \uc704\ud574\uc11c\ub294, Foo\uac00 Foo(Bar,Baz) \uc0dd\uc131\uc790\uc640 \uac19\uc774 Bar\uc640 Baz\uc758\uc874\uc131\uc744 \ud544\uc694\ub85c \ud558\ub294 \uacbd\uc6b0\ub97c \uc0dd\uac01\ud574\ubcf4\uc790. Dagger\uc5d0\uc11c\ub294 @Inject \uc0dd\uc131\uc790 \ub9e4\uac1c\ubcc0\uc218\uc758 \uc21c\uc11c\ub97c \ubc14\uafd4\ub3c4 \ubb34\uad00\ud558\ub2e4. \uadf8\ub7ec\ub098 \uc9c1\uc811 \uc778\uc2a4\ud134\uc2a4\ud654\ud558\uc5ec Foo\ub97c \ud14c\uc2a4\ud2b8 \ud574\uc57c \ud55c\ub2e4\uba74, \ud14c\uc2a4\ud2b8 \ub610\ud55c \ubcc0\uacbd\uc774 \ud544\uc694\ud558\ub2e4. \ub9c8\ucc2c\uac00\uc9c0\ub85c, \uc0c8\ub85c\uc6b4 @Inject \ud074\ub798\uc2a4\uc758 \uc0ac\uc6a9\uc744 \ucd94\uac00\ud558\uac70\ub098 \ub610\ub294 \uc635\uc154\ub110 \ubc14\uc778\ub529\uc758 \uc0ac\uc6a9\uc740 \ucd5c\uc885 \uc0ac\uc6a9\uc790\uc5d0\uac8c\ub294 \ubcf4\uc774\uc9c0 \uc54a\uc9c0\ub9cc, \ud14c\uc2a4\ud2b8\ub97c \uc9c0\uc18d\uc801\uc73c\ub85c \uac31\uc2e0\ud574\uc57c\ub9cc \ud55c\ub2e4.<\/p>\n<h2>\uc694\uc57d<\/h2>\n<p>Hilt\ub294 \uc2e4\uc81c \uc758\uc874\uc131\uacfc \ud568\uaed8 \uc26c\uc6b4 \ud14c\uc2a4\ud2b8\ub97c \uc9c4\ud589\ud558\uae30 \uc704\ud574 Dagger\uc758 \ub2e8\uc810\uc744 \ubcf4\uc644\ud558\uc5ec \uc124\uacc4\ub418\uc5c8\ub2e4. Hilt\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc791\uc131\ud55c \ud14c\uc2a4\ud2b8\ub294 \uc774\ub7ec\ud55c \uc6d0\ub9ac \uc6d0\uce59\uc744 \uc798 \ub530\ub978\ub2e4\uba74 \uc804\ubc18\uc801\uc73c\ub85c \ub354 \ub098\uc740 \ud14c\uc2a4\ud2b8 \uacbd\ud5d8\uc744 \ubcf4\uc5ec\uc904 \uac83\uc774\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/dagger.dev\/hilt\/testing-philosophy 10.2 Design Decisions &#8211; Testing Philosophy \uac1c\uc694 \uc774 \ud398\uc774\uc9c0\ub294 Hilt\ub97c \uc0ac\uc6a9\ud558\ub294 \ud14c\uc2a4\ud2b8 \uc0ac\ub840\ub97c \uc124\uba85\ud558\ub294 \uac83\uc744 \ubaa9\ud45c\ub85c \ud55c\ub2e4. Hilt\uc758 \ub9ce\uc740 API\uc640 \uae30\ub2a5 ( \uadf8\ub9ac\uace0 \ud2b9\uc815 \uae30\ub2a5\uc758 \ubd80\uc871\ud568)\uc740 \uc88b\uc740 \ud14c\uc2a4\ud2b8\ub97c \ub9cc\ub4dc\ub294 \uac83\uc5d0 \ub300\ud55c \ubb34\uc5b8\uc758 \ucca0\ud559\uc744 \ubc14\ud0d5\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc84c\ub2e4. \uc88b\uc740 \ud14c\uc2a4\ud2b8\uc758 \uac1c\ub150\uc740 \ubcf4\ud3b8\uc801\uc73c\ub85c \ud569\uc758 \ub41c \uac83\uc740 \uc544\ub2c8\uae30 \ub54c\ubb38\uc5d0 \uc774 \ubb38\uc11c\ub294 Hilt \ud300\uc758 \ud14c\uc2a4\ud2b8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[28],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/44365"}],"collection":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=44365"}],"version-history":[{"count":1,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/44365\/revisions"}],"predecessor-version":[{"id":44366,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/44365\/revisions\/44366"}],"wp:attachment":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}