์คํ๋ง๋ถํธ ํ ์คํธ ์ผ์ด์ค ์์ฑ JUnit
- main ๋ฉ์๋ ํตํ ์คํ
- ์น ์ ํ๋ฆฌ์ผ์ด์ ์ปจํธ๋กค๋ฌ ํตํ ์คํ
service ํจํค์ง๋ ์ฃผ๋ก ๋น์ฆ๋์ค ๋ก์ง ์คํ - ๋น์ฆ๋์ค์ ์์กด์
repository๋ ์ ์ฅ์์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ์ญํ ์ ํจ(findAll, findById) - ๋จ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
ํ ์คํธ ์ฝ๋ ์์ฑ ๋จ์ถํค ์ปค๋งจ๋ ์ฌํํธ T
Test ์ฝ๋ ์์ฑ์ given, when, then ์์ผ๋ก ๊ฒ์ฆ ์ฒ๋ฆฌ
* ์ธ๋ถ ์์กด์ฑ ์ฃผ์ DI(Dependancy injection)
์คํ๋ง ๋น์ ๋ฑ๋กํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ
- ์ปดํฌ๋ํธ ์ค์บ๊ณผ ์๋ ์์กด๊ด๊ณ ์ค์
-> @Component (๋น์ผ๋ก ์๋ ๋ฑ๋ก), @Autowired, @Controller, @Service... etc ์ด๋ ธํ ์ด์ ์ค์
- ์๋ฐ ์ฝ๋๋ก ์ง์ ์คํ๋ง ๋น ๋ฑ๋กํ๊ธฐ
- setter ์ฃผ์ ์ ๋ ์ฐ์ง ๋ง๊ฒ public ๋ฑ๋ก ํ์ํ์ฌ, ๋ค๋ฅธ๊ณณ์์ ํธ์ถ์ด ๋ ์๋ ์์.
- ์ฃผ๋ก ์์ฑ์ ์ฃผ์ ๊ถ์ฅ, ์ํฉ์ ๋ฐ๋ผ ์ค์ ์ ํตํด ๋น๋ฑ๋ก
- Service์์ ๊ตฌํ์ฒด ๋ณ๊ฒฝํ์ฌ DB์ ๋ง๋ repository ์ฝ๋ ์์ฑ ๊ฐ๋ฅ
DB ์ฐ๊ฒฐ
- jdbc API ์ฌ์ฉ (DataSource)
ํตํฉ ํ ์คํธ
@SpringBootTest -> ์คํ๋ง ์ปจํ
์ด๋&ํ
์คํธ ์คํ
@Transactional -> ๋ฐ์ดํฐ ๋กค๋ฐฑ. ์๋น์ค ๋จ์ ์
๋ ฅ ์, ๋กค๋ฐฑ๋์ง ์์. ํ
์คํธ ์ผ์ด์ค์์๋ง ๋กค๋ฐฑ ์๋