๋ชฉ๋ก@SpringBootTest (2)

DevLog ๐Ÿ˜ถ

[Spring] @SpringBootTest์—์„œ ์ง€์—ฐ ๋กœ๋”ฉ ์‚ฌ์šฉํ•˜๊ธฐ - no Session ๋ฐฉ์ง€ํ•˜๊ธฐ

๐ŸŒฑ ๋“ค์–ด๊ฐ€๊ธฐ ์ „ ์šฐ๋ฆฌ ํŒ€์˜ ๊ฒฝ์šฐ E2E ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด์„œ @SpringBootTest๋ฅผ ํ†ตํ•ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์šฐ๋ฆฌ ํŒ€์˜ ํŒ€์›๋ถ„์ด ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ๋‹ค. failed to lazily initialize a collection of role: co.kirikiri.domain.roadmap.RoadmapContent.nodes.values: could not initialize proxy - no Session ์ƒํ™ฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. (์ถ”ํ›„ ์ฝ”๋“œ๋กœ ๋” ์ž˜ ์‚ดํŽด๋ณผ ์˜ˆ์ •์ด๋‹ค.) A๋ผ๋Š” ์ƒ์„ฑ API์™€ B๋ผ๋Š” ์กฐํšŒ API๊ฐ€ ์žˆ์„ ๋•Œ, ํŒ€ ๋‚ด์—์„œ ๊ธฐ๋Šฅ์„ ์„ธ๋ถ„ํ™”ํ•œ ๋‹ค์Œ ๊ฐ์ž ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋‹ˆ B๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ์‹œ์ ์— A๋ผ๋Š” API๊ฐ€ ์—†์–ด, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋•Œ repository๋ฅผ ..

[Spring] ์Šคํ”„๋ง ํ…Œ์ŠคํŠธ - ํ…Œ์ŠคํŠธ ์ปจํ…์ŠคํŠธ ์บ์‹ฑ, @SpringBootTest, @WebMvcTest

๐ŸŒฑ ๋“ค์–ด๊ฐ€๊ธฐ ์ „ ์ด์ „ ํฌ์ŠคํŒ…๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์Šคํ„ฐ๋””์—์„œ ๋งก์€ 'ํ…Œ์ŠคํŠธ' ํŒŒํŠธ์— ๋Œ€ํ•ด์„œ ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค ๐Ÿ˜Š ํ…Œ์ŠคํŠธ ์ชฝ์€ ๊ณต์‹ ๋ฌธ์„œ๋„ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ€๋…์„ฑ์ด ๋„ˆ๋ฌด ์•ˆ ์ข‹์•„์„œ ์ตœ๋Œ€ํ•œ ๊ฐ„๋žตํ•˜๊ฒŒ๋งŒ ํ›‘์–ด๋ณด์•˜๋‹ค. ์•„์ง ๋ชจ๋ฅด๋Š” ๊ฒŒ ์ •๋ง ๋งŽ์€ ๊ฒƒ ๊ฐ™๋‹ค ใ…Žใ…Ž ๐ŸŒฑ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ vs ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด, ์™ธ๋ถ€ ์ž‘์—…๋“ค๊ณผ ์—ฐ๊ด€๋˜์–ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ์™ธ๋ถ€ ์ž‘์—…๋“ค์„ ํฌํ•จํ•˜์—ฌ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ž˜ ๋Œ์•„๊ฐ€๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, @SpringBootTest ์–ด๋…ธํ…Œ์ด์…˜์„ ํ™œ์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋งŽ๋‹ค. (๊ด€๋ จ๋œ ๋ชจ๋“  ๋นˆ์„ ๊ฐ€์ ธ์™€์„œ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๋А๋‚Œ) ๋ฐ˜๋ฉด, ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์˜ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋งž์ถฐ ์ˆ˜ํ–‰ํ•˜๋Š” ํ…Œ์ŠคํŠธ์ด๋‹ค. ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ์˜ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ E2E ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์ฃผ์–ด์ง„ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋”ฐ๋ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชจ๋“  ..

Back-end/Spring 2023. 5. 8. 00:50