๐Ÿœ TESTING

Service์— ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์€๋ฐ public์œผ๋กœ ๋˜์–ด์žˆ๋Š” ์ „์ฒด ๋กœ์ง์ด ์•„๋‹Œ private์œผ๋กœ ๋œ ๊ธฐ๋Šฅ์ด ๋‚˜๋ˆ„์–ด์ง„ ๋ฉ”์„œ๋“œ์˜ ๊ธฐ๋Šฅ๊ฒ€์ฆ์„ ํ•˜๊ณ  ์‹ถ๋‹ค. ๊ทธ๋ž˜์„œ public์œผ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ–ˆ๋Š”๋ฐ ์ฐพ์•„๋ณด๋‹ˆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ServiceImpl ํด๋ž˜์Šค ๋‚ด์— ์ธํ„ฐํŽ˜์ด์Šค์— ์ •์˜๋˜์ง€ ์•Š์€ public ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ”ผํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํŠน์ • ๊ณ„์•ฝ(Contract)์„ ์ •์˜ํ•˜๊ณ , ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋“ค์€ ํ•ด๋‹น ๊ณ„์•ฝ์„ ์ง€์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ธํ„ฐํŽ˜์ด์Šค์— ์ •์˜๋˜์ง€ ์•Š์€ ๋ฉ”์„œ๋“œ๋ฅผ ํด๋ž˜์Šค ๋‚ด์—์„œ ์ถ”๊ฐ€ํ•œ๋‹ค๋ฉด, ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ผ๊ณ  ํ•œ๋‹ค. ๋งž๋Š” ๋ง์ธ๋ฐ ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒŒ ์ข‹์„๊นŒ? Reflection ๋ฆฌํ”Œ๋ ‰์…˜ ์ถ”์ฒœํ•˜๋Š” ..
ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋ฐ˜ํ™˜๊ฐ’ ์—†๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•ด์•ผํ•  ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” Message๋ฅผ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€์—์„œ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ด๊ณ , ๋กœ๊ทธ ์ €์žฅ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ’์ด ์—†๋‹ค. ๋‚˜๋Š” ์ด ๋‚ด๋ถ€์—์„œ ๋ฐ์ดํ„ฐ ์ •์ œ๊ฐ€ ๋๋‚œ ํ›„ ๋งˆ์ง€๋ง‰์— private send(RequestDto request) ์— ์ „๋‹ฌ๋˜๋Š” RequestDto ๋ฅผ ์•Œ๊ณ  ์‹ถ์—ˆ๋‹ค. private sendMessageList(){ // ๋ฐ์ดํ„ฐ ์ •์ œ send(reqeust); } private send(RequestDto request){ // ์‹ค์ œ๋กœ ์ „์†ก } ์ด๋•Œ, ArgumentCaptor ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. @Test void sendMessageTest() { sendService.sendMessageList(new Oth..
๋„๊ตฌ ์‚ฌ์šฉ๋ฒ• ์ค‘์‹ฌ์ด ์•„๋‹ˆ๋ผ ํ…Œ์ŠคํŠธ ๋„์ž…์˜ ํ•„์š”์„ฑ, ๋น„์šฉ ์ธก๋ฉด์„ ์‚ฌ๋ก€์™€ ํ•จ๊ป˜ ํ’€์–ด๊ฐ€๊ณ  ์žˆ๋‹ค. ํ…Œ์ŠคํŠธ ๋„๊ตฌ๋Š” ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์™œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์–ด๋–ค ์ผ€์ด์Šค์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊นจ๋‹ฌ์•„์•ผ ์ •๋ง ํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ  ์ง€์†์  ํ…Œ์ŠคํŠธ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์žฌ๋ฏธ์จ,,ใ… 
์• ์ •์“ฐ
'๐Ÿœ TESTING' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก