@SpringBootTest
logging.level.com.rebypaper=trace
โโถํ ์คํธ
- @SpringBootTest ์ ๋ํ ์ด์ ์ ๋ถ์ด๋ฉด ๋ณต์กํ ํ ์คํธ ์ค์ ๋ค์ ์๋์ผ๋ก ์ฒ๋ฆฌํ๊ณ , ํ ์คํธ ๊ด๋ จ ๊ฐ์ฒด๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค์ค
- ๊ด๋ จ์์ฑ
- properties : ํ ์คํธ๊ฐ ์คํ๋๊ธฐ ์ ์ ํ ์คํธ์์ ์ฌ์ฉํ ์ค๋กํผํฐ๋ค์ k=yํํ๋ก ์ถ๊ฐํ๊ฑฐ๋ properties ํ์ผ์ ์ค์ ๋ ํ๋กํผํฐ๋ฅผ ์ฌ์ ์ํจ
- classes : ํ ์คํธํ ํด๋์ค๋ค์ ๋ฑ๋กํจ. ์๋ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์๋ ๋ชจ๋ ๋น์ ์์ฑํจ
- webEnvironment : ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋ ๋ ์น๊ณผ ๊ด๋ จ๋ ํ๊ฒฝ์ค์ ๊ฐ๋ฅ
โโ
- ๋ชจํน : ํ ์คํธ๋ฅผ ์ํด ์ค์ ๊ฐ์ฒด์ ๋น์ทํ ๋ชจ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ
- ๋ชฉ์ : ๋ชจํนํ ๊ฐ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ์ป์ด๋ด๋ ๊ณผ์
- ๋ชจํนํ๋ ค๋ฉด @WebMvcTest(์ปจํธ๋กค๋ฌ๋ง ํ ์คํธ ๊ฐ๋ฅ) ์ฌ์ฉ or @AutoConfigureMockMvc(์๋น์ค ๋ ํ์งํ ๋ฆฌ ํ ์คํธ ๊ฐ๋ฅ, ๋์ ๋ฌด๊ฑฐ์) ์ฌ์ฉ
โ
- MockMvc์ ๋ฉ์๋
- perform() : ๋ธ๋ผ์ฐ์ ์์ ์๋ฒ์ URL ์์ฒญ์ ํ๋ฏ ์ปจํธ๋กค๋ฌ๋ฅผ ์คํ์ํฌ ์ ์์.
- andExpect() : ์๋ฒ์ ์๋ต ๊ฒฐ๊ณผ ๊ฒ์ฆ ๊ฐ๋ฅํจ
โ
- perform()์ ๋งค๊ฐ๋ณ์ : RequestBuilder ๊ฐ์ฒด (MockMvcRequestBuilders์ ์ ์ ๋ฉ์๋๋ก ์์ฑํจ)
- RequestBuilder ๊ฐ์ฒด : ์์ฒญ๊ด๋ จ ์ ๋ณด ์ค์ ๊ฐ๋ฅํจ. param()์ผ๋ก ํ๋ผ๋ฏธํฐ ์ฌ๋ฌ๊ฐ ์ ๋ฌ ๊ฐ๋ฅํจ, perform()์ผ๋ก ์์ฒญ ์ ์กํ๋ฉด RequestAction๊ฐ์ฒด ๋ฆฌํดํด์ andExpect()๋ฅผ ํตํด ๊ฒฐ๊ณผ ๊ฒ์ฆ ๊ฐ๋ซ์.
- view() ๋ทฐ ๊ฒ์ฆ
- redirectedUrl() : ๋ฆฌ๋ค์ด๋ ํธ ํ๋์ง ๊ฒ์ฆ
โ
โ
- ์ ์์ ์ธ ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ๊ตฌ๋ํ๊ณ ํ ์คํธ ๊ฒฐ๊ณผ ํ์ธํ๊ณ ์ถ์ ๋๋ @SpringBootTest์ webEnviroment ์์ฑ๊ฐ์ RANDOM_PORT or DEFINED_PORT ๋ก ๋ณ๊ฒฝ.
- webEnviroment ์์ฑ
์์
|
์๋ฏธ
|
๋ด์ฅํฐ์บฃ
|
MOCK
|
๋ชจํน๋ ์๋ธ๋ฆฟ ์ปจํ
์ด๋๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ด์ฅ ํฐ์บฃ์ด ๊ตฌ๋๋์ง ์์
|
X
|
RANDOM_PORT
|
๋๋คํ ํฌํธ๋ก ๋ด์ฅ ํฐ์บฃ์ ๊ตฌ๋
|
O
|
DEFINED_PORT
|
์์ ๋์ผํ์ง๋ง application.propertires ํ์ผ์ ์ค์ ๋ ์๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉ
|
O
|
NONE
|
์๋ธ๋ฆฟ ๊ธฐ๋ฐ์ ํ๊ฒฝ ์์ฒด๋ฅผ ๊ตฌ์ฑํ์ง ์
|
X
|
spring.main.web-application-type=selvlet //์ด๊ฒ ์์ด์ผ ํฐ์บฃ ์๋
โ
โถ๋ก๊น
- ํผ์ฌ๋ ํจํด(Facade Pattern) : ๋์์ธ ํจํด ์ค์์ ๊ตฌํ ์ธ๋ถ์ฌํญ์ ์จ๊ธฐ๊ณ ๊ฐ๋ฐ์๊ฐ ๋ด๋ถ ๋์์ ๋ชฐ๋ผ๋ ๋ ๋ ์ฌ์ฉ๋๋ ํจํด
- ์คํ๋ง๋ถํธ๋ SLF4J๋ผ๋ ํผ์ฌ๋๋ฅผ ํตํด ๊ถ๊ทน์ ์ผ๋ก๋ LogBack์ ์ฌ์ฉํจ.
- ์คํ๋ง๋ถํธ๋ logging ์คํํฐ๋ฅผ ์ด์ฉํ์ฌ Java Util Logging, Log4j 2, Logback ์ ๊ตฌํ์ฒด๋ก ๊ฐ์ง๊ณ ์์(์ํ๋ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋๋ก)
- ์คํ๋ง๋ถํธ๋ ์ด ์ค์์ Logback์ ์ด์ฉํ์ฌ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํจ
โ
- ๋ก๊ทธ๋ ๋ฒจ
Level
|
์๋ฏธ
|
ERROR
|
์ฌ์ฉ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ค ๋ฌธ์
|
WARN
|
์ฒ๋ฆฌ ๊ฐ๋ฅํ ๋ฌธ์ ์ด์ง๋ง, ํฅํ ์์คํ
์๋ฌ์ ์์ธ์ด ๋ ์ ์๋ ๋ฌธ์
|
INFO
|
๋ก๊ทธ์ธ์ด๋ ์ํ๋ณ๊ฒฝ๊ณผ ๊ฐ์ ์ ๋ณด์ฑ ๋ฉ์ธ์ง
|
DEBUG
|
๊ฐ๋ฐ ์ ๋๋ฒ๊น
๋ชฉ์ ์ผ๋ก ์ถ๋ ฅํ๋ ๋ฉ์ธ์ง
|
TRACE
|
DEBUG ๋ ๋ฒจ๋ณด๋ค ์ข ๋ ์์ธํ ๋ฉ์ธ์ง
|
- ๋ก๊ทธ๋ ๋ฒจ ์กฐ์ ๋ฐฉ๋ฒ : ์ธ๋ถ ํ๋กํผํฐ ํ์ผ์ ์์ ํจ
โ logging.level.com.rebypaper=trace
- ์คํ๋ง๋ถํธ๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ์ค์ ํ์ผ(base.xml)์ ์ฌ์ฉํ์ง ์๊ณ ์ง์ ๋ชจ๋ ๊ฒ์ ์ ์ดํ๊ณ ์ถ๋ค๋ฉด, logback.xml์ ์์ฑํ๋ค → ๋ก๊ทธํ์ผ์ ๋งค์ฐ ํฌ๊ธฐ๋๋ฌธ์, ์ ํ์ ์ผ๋ก ํด๋ฆญ ์์น ๋ฑ ํ์ํ ์ ๋ณด๋ฅผ ์ปค์คํฐ๋ง์ด์ง ํ๋ฉด ์ข์
โ
'๐ฅ๏ธ ๋ฐฑ์๋ > SpringBoot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์คํ๋ง๋ถํธ ํต์คํํธ] ch.5 ์คํ๋ง๋ฐ์ดํฐ JPA (0) | 2023.11.23 |
---|---|
[์คํ๋ง๋ถํธ ํต์คํํธ] ch.4 JPA API (0) | 2023.11.23 |
[์คํ๋ง๋ถํธ ํต์คํํธ] ch.2 ์์กด์ฑ๊ณผ ์๋์ค์ (0) | 2023.11.23 |
[๋ณด์] ์ฟ ํค์ ์ธ์ ๊ทธ๋ฆฌ๊ณ JWT (1) | 2023.11.23 |
[์คํ๋ง๋ถํธ ํต์คํํธ] ch.1 ์คํ๋ง๋ถํธ ๋ฑ์ฅ ๋ฐ ํต์คํํธ (0) | 2023.11.20 |