๊ฐ๋
์ ์๊พธ ๊น๋จน๊ธฐ ์ฌ์ฐ๋ ์ ์ด๋๊ณ ์์ง๋ง๊ธฐ ! ! !
@SpringBootTest(classes = ApiApplication.class)
- ์คํ๋ง ๋ถํธ๋ @SpringBootTest ์ด๋
ธํ
์ด์
์ ํตํด ์คํ๋ง๋ถํธ ์ดํ๋ฆฌ์ผ์ด์
ํ
์คํธ์ ํ์ํ ๊ฑฐ์ ๋ชจ๋ ์์กด์ฑ์ ์ ๊ณตํ๋ค.
- @SpringBootTest๋ ํตํฉ ํ
์คํธ๋ฅผ ์ ๊ณตํ๋ ๊ธฐ๋ณธ์ ์ธ ์คํ๋ง ๋ถํธ ํ
์คํธ ์ด๋
ธํ
์ด์
์ด๋ค.
- ํด๋น ์ด๋
ธํ
์ด์
์ ์ฌ์ฉ์ Junit ๋ฒ์ ์ ๋ฐ๋ผ ์ ์ํ ์ฌํญ์ด ์๋ค. (๊ณต์๋ฌธ์ ์ฐธ๊ณ )
@RunWith(SpringRunner.class)
- @RunWith๋ jUnit ํ๋ ์์ํฌ์ ํ
์คํธ ์คํ๋ฐฉ๋ฒ์ ํ์ฅํ ๋ ์ฌ์ฉํ๋ ์ด๋
ธํ
์ด์
์ด๋ค.
- SpringJUnit4ClassRunner๋ผ๋ ํด๋์ค๋ฅผ ์ง์ ํด์ฃผ๋ฉด jUnit์ด ํ
์คํธ๋ฅผ ์งํํ๋ ์ค์ ApplicationContext๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ ์์
์ ์งํํด์ค๋ค.
- @RunWith ์ด๋
ธํ
์ด์
์ ๊ฐ๊ฐ์ ํ
์คํธ ๋ณ๋ก ๊ฐ์ฒด๊ฐ ์์ฑ๋๋๋ผ๋ ์ฑ๊ธํค(Singletone)์ ApplicationContext๋ฅผ ๋ณด์ฅํ๋ค.
๊ทธ์ธ ํ
์คํธ ์ ์ฌ์ฉ ์ด๋
ธํ
์ด์
@Slf4j
- ๋ก๊น
์ ๋ํ ์ถ์ ๋ ์ด์ด๋ฅผ ์ ๊ณตํ๋ interface์ ๋ชจ์์ด๋ค.
@ActiveProfiles("local")
- ํ๊ฒฝ ๋ณ๋ก ๊ฐ๊ฐ ๋ค๋ฅธ ํ์ผ๋ก ์ค์ ํ๋ค. (ํ
์คํธ์ด๋ฏ๋ก ๋ก์ปฌํ๊ฒฝ์ ์ค์ ํ์ผ์ ์ฌ์ฉ)
@Transactional
- ํด๋์ค, ๋ฉ์๋์์ @Transactional ์ด ์ถ๊ฐ๋๋ฉด, ์ด ํด๋์ค์ ํธ๋์ญ์
๊ธฐ๋ฅ์ด ์ ์ฉ๋ ํ๋ก์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค.