https://nothing-is-on-my-way.tistory.com/75
Spring-MVC JUnit์ ์ฌ์ฉํ ๋จ์ ํ ์คํธ
๐ก๋จ์ ํ ์คํธ๋? ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ฐ์ ์ ํ ์คํธ ๋ถ๋ฅ๋ ๋ค์๊ณผ ๊ฐ๋ค. - ๊ธฐ๋ฅ ํ ์คํธ : ๊ธฐ๋ฅ ํ ์คํธ๊ฐ ํ ์คํธ์ ๋ฒ์๊ฐ ๊ฐ์ฅ ํฌ๋ค. ๊ธฐ๋ฅ ํ ์คํธ๋ ์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ์ ์ฅ
nothing-is-on-my-way.tistory.com
TDD(Test Driven Development) : ํ ์คํธ ์ฃผ๋๋ก ๊ฐ๋ฐ์ ์ด๋์ด๋๊ฐ๋ ๊ฒ.
๋จผ์ ํ ์คํธ๋ฅผ ์์ฑํ๊ณ ๋์, ํ ์คํธ๊ฐ ์ ์์ ์ผ๋ก ๋์๊ฐ ๋๊ฐ์ง ํ ์คํธ๋ฅผ ํ๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ๋ ์์ . ์ํ๋ ์์ ์ด ์ ๋๋ก ๋์๊ฐ ๋๊น์ง ํ ์คํธ์ ์ฝ๋ ์์ฑ์ ๋ฌดํ๋๋ก ๋ฐ๋ณตํ๋ฉฐ ๊ฐ๋ฐ์ ํ๋ฉด ๋๋ค.
BDD(Behavior Driven Development) : ์ ์ง TDD
TDD์ ํ ์ข ๋ฅ๋ก, ํ๋ก ํธ์ํธ์์ ๋ ์ฅ์ ์ด ๋๋๋ฌ์ง๋ ๊ฒฝํฅ์ด ์๋ค. ๋ฉ์๋ ์์ฃผ์ TDD๋ณด๋ค ํ๋์ ์กฐ๊ธ ๋ ๊ฐ์กฐ.
TDD๋ฅผ ํ๋ฉด์ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด Testcase์ ๋ํด์๋ ๊ณ์ ์ ์ง๋ณด์ํด์ผ ํ๋๋ฐ ๊ท์ฐฎ๊ธฐ๋ ํ๊ณ , ๋ง๊ฐ๊ธฐํ์ด ์ ํด์ง ํ๋ก์ ํธ๋ผ๋ฉด ์ผ์ ์ ๋ํ ์๋ฐ์ ๋ฐ์ ์๋ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋งค๋ฒ ๊ฐ๋ฐ์ ์งํํ๋ฉด์ ๊ธฐ๋ฅ๊ณผ ์์ธ ์ฌํญ์ ๋ํด ๋งค๋ฒ ์๊ฐํ๊ณ Testcase๋ฅผ ์์ฑํ๋ ๊ฒ์ ์๊ฐ๋ณด๋ค ๋น์ฉ์ด ๋ง์ด ๋ค์ด๊ฐ ์ ์์.
ํ์ง๋ง ๋ง์ฝ ์ฌ๊ธฐ์์ ์ด๋ฏธ ์์ฑ๋ ์๊ตฌ์ฌํญ์ด๋ ๊ธฐํ์๊ฐ ์๊ณ , ๊ทธ์ ๋ง์ถ์ด ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๊ฒ ๋๋ค๋ฉด, ์์ ๊ฐ์ ์๊ฐ์ ๋ํ ๋น์ฉ์ด ์ค๊ฒ ๋๋ค. → ์ด๊ฒ BDD
BDD์์ - ์ด๋ชจํฐ์ฝ ์คํ๋์ค ๊ฒ์ ๋ฑ๋ก ํ๋ฉด ๊ธฐํ์ ๊ธฐ๋ฐ BDD TestCase
- Given
- ๋ณธ์ธ ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ๋ ์ํฉ์์
- When
- ๊ฒ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ณ ๊ฒ์ ๋ฑ๋ก ๋ฒํผ์ ๋๋ฅด๋ฉด
- ๊ฒ์ ์ ๋ณด๋ฅผ ๋ฏธ์ ๋ ฅํ๊ณ ๊ฒ์ ๋ฑ๋ก ๋ฒํผ์ ๋๋ฅด๋ฉด
- Then
- ๋ฑ๋ก ๊ฒฐ๊ณผ๊ฐ ํฌํจ๋ ๊ฒ์ ์งํ ๋ชฉ๋ก ํ๋ฉด์ผ๋ก ์ด๋
- ๊ฒ์ ๋ฑ๋ก ์คํจ ์ฌ์ ๊ฐ ํ๋ฉด์ ํ์๋จ.
TDD์ BDD์ ์ฐจ์ด์
TDD์ ํ ์คํธ ์ผ์ด์ค๋ ํ ์คํธํ ๋ชจ๋์ ๊ธฐ๋ฅ์ ํ์ธํ๋ ๊ด์ ์์, BDD์ ํ ์คํธ ์ผ์ด์ค๋ ์๋๋ฆฌ์ค ์ฃผ์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ํ์๋ฅผ ํ์ธํ๊ธฐ ์ํ ๊ด์ ์์ ์์ฑ์ด ๋๋ค.
์) ๊ณ์ฐ๊ธฐ ํ ์คํธ์ ๊ฒฝ์ฐ
BDD๋ TDD์์ ํ์๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ผ๋ก, ๊ฐ๋ฐ์์ ๋น๊ฐ๋ฐ์์ ํ์ ๊ณผ์ ์ ๋ น์ฌ๋ธ ๋ฐฉ๋ฒ.
ํ๋ก์ ํธ์์ BDD์ ํ ์คํธ์ผ์ด์ค๋ก ์๋๋ฆฌ์ค ๊ฒ์ฆ(์ค๊ณ ๋๋ฝ์ ๋ฏธ๋ฆฌ ์ก์๋)์ ํ๊ณ , ํด๋น ์๋๋ฆฌ์ค์์ ์ฌ์ฉํ๋ ๊ฐ ๋ชจ๋๋ค์ TDD์ ํ ์คํธ์ผ์ด์ค๋ก ๊ฒ์ฆ์ ํ๋ ๋ฐฉ๋ฒ์ด ์ข์.
'SEB TIL๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ฆฌํ๋ก์ ํธ ํ๊ณ ๐คฃ (0) | 2023.06.27 |
---|---|
Section 3 - KPT ํ๊ณ (3) | 2023.05.09 |
TIL - Spring MVC ์์ธ์ฒ๋ฆฌ (0) | 2023.04.17 |
Section 2 - KPT ํ๊ณ (2) | 2023.04.10 |
TIL - Spring Core ๊ธฐ๋ณธ (0) | 2023.04.04 |