[Spring] Mockito๋ž€?

๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ž€? ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์„ ๊ธฐ์ค€์œผ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์„œ ๊ฐ ๋‹จ์œ„๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ์ •ํ™•ํ•˜๊ฒŒ ์–ด๋Š ๋ถ€๋ถ„์ด ์ž˜๋ชป๋˜์—ˆ๋Š”์ง€ ์บ์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒฝ์šฐ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Service ๊ณ„์ธต์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋ณดํ†ต ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค๊ณผ ์˜์กด ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, Bean Container์— ์ฃผ์ž…๋œ ์‹ค์ œ ๊ฐ์ฒด๋“ค์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๊ณ , Mockito ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ์„ ํ™œ์šฉํ•ด Mock ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์„œ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. Mockito..

Java 2023. 5. 21. 20:47
[Design Pattern] TDD(ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ)

TDD๋ž€? TDD๋ž€ Test Driven Development์˜ ์•ฝ์ž๋กœ 'ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ณต ํ…Œ์ŠคํŠธ๋ฅผ ์ด์šฉํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ์ž‘์€ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์งง์€ ๊ฐœ๋ฐœ ์ฃผ๊ธฐ์˜ ๋ฐ˜๋ณต์— ์˜์กดํ•˜๋Š” ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์ด๋ฉฐ ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก  ์ค‘ ํ•˜๋‚˜์ธ eXtream Programming(XP)์˜ 'Test-First'๊ฐœ๋…์— ๊ธฐ๋ฐ˜์„ ๋‘” ๋‹จ์ˆœํ•œ ์„ค๊ณ„๋ฅผ ์ค‘์š”์‹œํ•ฉ๋‹ˆ๋‹ค. **eXtream Programming(XP) : ๋ฏธ๋ž˜์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ์ตœ๋Œ€ํ•œ ํ•˜์ง€ ์•Š๊ณ  ์ง€์†์ ์œผ๋กœ ํ”„๋กœํ† ํƒ€์ž…์„ ์™„์„ฑํ•˜๋Š” ์• ์ž์ผ ๊ธฐ๋ฐฉ๋ฒ•๋ก  ์ค‘ ํ•˜๋‚˜๋กœ, ์ถ”๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ƒ๊ธฐ๋”๋ผ๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Œ TDD์˜ ์ ˆ์ฐจ TDD์—์„œ๋Š” ์ œํ’ˆ์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์œ„ํ•œ ์ฝ”๋“œ์™€ ๋ณ„๊ฐœ..

CS/Design Pattern 2022. 7. 4. 20:19