๋ชฉ์ฐจ
MockTest
๊ณผ๊ฑฐ์๋ viewํ์ด์ง๋ฅผ ๋ง๋ ๋ค Tomcat์ ์คํํ๊ณ ์น ํ์ด์ง์์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋ ๋ฐฉ์์ ์ฝ๋๋ฅผ ์์ฑํด ์๋๋ฐ, ์ด ๋ฐฉ์์ ์๊ฐ๋ ์ค๋ ๊ฑธ๋ฆฌ๊ณ ํ
์คํธ๋ฅผ ์๋ํ ํ๊ธฐ์๋ ์ด๋ ค์์ด ๋ง์์ Mock์ ์ด์ฉํด์ Controller๋ฅผ ํ
์คํธ ํ๋ ๋ฐฉ์์ด ์์
MockMvc๋ ๋ง ๊ทธ๋๋ก '๊ฐ์ง mvc'๋ผ๊ณ ์๊ฐํ๋ฉด ๋๊ณ , ๊ฐ์ง๋ก URL๊ณผ parameter ๋ฑ์ ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ๋ง๋ค์ด์ Controller๋ฅผ ์คํ ํด ๋ณผ ์ ์์
์ฐ์ ์๋์ฒ๋ผ BoardController์์ ๊ฒ์๊ธ ์ ์ฒด ๋ชฉ๋ก์ ๊ฐ์ ธ์ค๋ ์์ ์ฝ๋๋ฅผ ์์ฑํจ
๊ทธ ๋ค์ ์๋ ์ด๋ฏธ์ง์ฒ๋ผ ํ ์คํธ ์ฝ๋๋ ์น์ ๊ฐ๋ฐํ ๋ ๋งค๋ฒ URL์ ํ ์คํธ ํ๊ธฐ ์ํด Tomcat์ ์คํํ๋ ๋ถํธํ ๋จ๊ณ๋ฅผ ์๋ตํ๊ธฐ ์ํด์ ๊ธฐ์กด๊ณผ ๋ค๋ฅด๊ฒ ์์ฑ
@WebAppConfiguration ์ด๋
ธํ
์ด์
์ Servlet์ ServletContext๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์์ธ๋ฐ, ์คํ๋ง์์๋ WebApplicationContext๋ผ๋ ์กด์ฌ๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์์
@Before ์ด๋
ธํ
์ด์
์ด ์ ์ฉ๋ method๋ ๋ชจ๋ ํ
์คํธ ์ ์ ๋งค๋ฒ ์คํ๋๋ method๊ฐ ๋จ, @Before๋ import ์ jUnit์ ์ด์ฉํด์ผ ํจ
MockMvcRequestBuilders๋ผ๋ ์กด์ฌ๋ฅผ ์ด์ฉํด์ GET ๋ฐฉ์์ ํธ์ถ์ ํ๊ณ ์ดํ์๋ BoardController์ getList()์์ ๋ฐํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ด์ฉํด์ model์ ๋ด๊ฒจ์ง ๋ฐ์ดํฐ๋ค์ ํ์ธํจ
์๋๋ jUnit์ผ๋ก ํ
์คํธ ํ ๊ฒฐ๊ณผ๊ฐ์, model์ ๋ด๊ธด ๊ฐ์ด ์ ์์ ์ผ๋ก ํ์ธ ๋จ
MockMvc๋ฅผ ์ด์ฉํด์ parameter์ ๊ฐ์ ์ ๋ฌํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์๋์ ๊ฐ์ด ์ฒ๋ฆฌํจ(parameter์ ๊ฐ ์ ๋ฌ ์ ๋ฌธ์์ด๋ก๋ง ์ฒ๋ฆฌํด์ผ ํจ
์๋๋ BoardController์ ๋ด์ฉ
url Mapping์ "/board/register"๋ก ํ๊ณ parameter๋ก BoardVO ๊ฐ์ฒด, bno์ ๊ฐ๋ ์ ๋ฌํ๊ธฐ ์ํด์ RedirectAttributes๊ฐ์ฒด๋ฅผ ๋ฐ์๋ค
์๋๋ ์์ resister() method๋ฅผ ํ
์คํธ ํ๊ธฐ ์ํ ํ
์คํธ ์ฝ๋์
MockMvcRequestBuilders.post().param("name", "value")์ด๋ฐ์์ผ๋ก ์ถ๊ฐํ๋ฉด ๋จ
์์ ํ ์คํธ ์ฝ๋๋ฅผ ์คํํ ๊ฒฐ๊ณผ๊ฐ์ ์๋์ ๊ฐ์
์๋ ์ด๋ฏธ์ง์ฒ๋ผ ์ค์ ๋ก DB์๋ ์ ์์ ์ผ๋ก ๋ฑ๋ก์ด ๋๊ฒ์ ํ์ธ ํ ์ ์์
์ถ์ฒ: ์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ์น ํ๋ก์ ํธ(๊ฐ์ ํ)

'IT > development' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring]UriComponentsBuilder(์๋ฒ๋จ์์ ๋์ ์ผ๋ก URI ์์ฑ) (0) | 2022.11.27 |
---|---|
[WebDevelopment]pagination (0) | 2022.11.27 |
[Spring]๋จ์ํ ์คํธ jUnit (0) | 2022.11.27 |
[Spring]spring 404 ์๋ฌ ํ์ด์ง ์ฒ๋ฆฌ (1) | 2022.11.27 |
[Spring]spring RedirectAttribute (0) | 2022.11.27 |
๋๊ธ