4. Testing Library
Jest
๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ๊ฐ์ถ ํ ์คํ ๋๊ตฌ.
Mocha์ Chai์ฒ๋ผ RSpec์ describe-it์ ์ง์ํ๊ณ , expect๋ก ๋จ์ธ(assertion)ํ ์ ์๋ค.
Mocking๋ ๋ค์ํ ๋ ๋ฒจ์์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
๊ธฐ๋ณธ์ ์ธ ํ
์คํธ ์ฝ๋
BDD ์คํ์ผ์ ํ
์คํธ์ฝ๋
Given-When-Then
์๋ํ ๊ฒ๊ณผ ๋ค๋ฅธ ์ผ์ด ๋ฒ์ด์ก์ ๋, ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋ค๊ณ ํ๋ค.
๋ช ์ธ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ๋๋ ๋ช ์ธ๊ฐ ๋ถ์์ ํด์ ์ ์ ์๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ ํ๋ก๊ทธ๋จ์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
์ฌ๋ฐ๋ฅธ ๋ช ์ธ๊ฐ ์๋ค๋ฉด, ๊ทธ๊ฑธ ํ์ธํ๋ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฑด ์ฝ๋ค.
๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋
์๋ฅผ ๋ค์ด๋ณด์.
์ ์๋ ์ง์ 3๋ถ๋ง ๋๋ฆฌ๋ฉด ์์ฑ!
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ํด์ผ ํ๋ ๊ฑด ๋ญ๊ฐ์?
์ ์๋ ์ง์ 3๋ถ๋ง ๋๋ฆฌ๋ฉด
๊ทธ๋ผ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง์ฃ ?
์์ฑ!
์ค๋น๊ฐ ํ์ํฉ๋๋ค
๊ทธ๋ฌ๊ณ ๋ณด๋ ์ ์๋ ์ง๋ฅผ ๋จผ์ ์ค๋นํด์ผํจ
700W ์ ์๋ ์ง๋ฅผ ์ค๋นํด์ 3๋ถ๋ง ๋๋ฆฌ๋ฉด ์์ฑ!
๋ชจํธํจ์ด ํ๋ ์ค์ด๋ค์๋ค.
์ํฉ์ ๋ ๋์ ๋๊ฒ
Given - 700์ํธ ์ ์๋ ์ง๋ฅผ ์ค๋นํ๊ณ , 3๋ถ์ด๋ ์๊ฐ์ด ์ฃผ์ด์ก์ ๋When - ์ฃผ์ด์ง ์๊ฐ๋์ ์ ์๋ ์ง๋ฅผ ๋๋ฆฌ๋ฉดThen - ์๋ฆฌ๊ฐ ์์ฑ๋๋ค.
ํ์ธ ์ ํ
๋ง์ฝ 1๋ถ๋ง ๋๋ฆฌ๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ์์ฑ ์๋๋ค. 5๋ถ ๋๋ฆฌ๋ฉด? ํ๋ค.
์ ๋ฆฌํ๋ฉฐ
ํ๋ ค๋ ์์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๊ณ ์๋์ง๊ฐ ๊ด๊ฑด.
Given-When-Then ๊ฐ๋ ์ ์ด์ฉํด ํ ์คํธ์ฝ๋๋ฅผ ์ง ๋ค.
React Testing Library
UI ํ ์คํธ์ ํนํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ๊ฑฐ์ E2E Test์ฒ๋ผ ์ธ ์ ์๋ค. ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉ์๊ฐ ์ฐ๋ฏ์ด ํ ์คํธ.
โF/E ํ ์คํธ = only React ์ปดํฌ๋ํธ ํ ์คํธโ๊ฐ ๋๋ ์ํฉ์ ์ต๋ํ ํผํ๋ ๊ฒ ์ข๋ค.
ํ๋ฉด์ ๊ฒ์ฌํ๋๊ฒ๋ณด๋ค ์ํ๋ฅผ ๊ฒ์ฌํ๋๊ฒ ๋์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ ๋ทฐ๋ง ํ ์คํธ ํ๋ ์ํฉ์ด ์ข์ ๊ฑด ์๋๋ค.
๋ณธ์ง์ ์ง์คํ์ง ๋ชปํ๊ณ ๋๋ฌด ๋ง์ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ ์ํ์ด ์๋ค.
์ ์ง๋ณด์๋ฅผ ๋๊ธฐ ์ํด ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ, ํ ์คํธ ์ฝ๋๋ฅผ ์๋ชป ์์ฑํ๋ฉด ์คํ๋ ค ์ ์ง๋ณด์๋ฅผ ์ ํดํ ์ ์๋ค.
Last updated