#
ํ ์คํ ์ ๋ต#
HTML ๊ตฌ์กฐ ํ ์คํธ#
์ ๋ตHTML์ ๋ฌธ์์ด๋ก ์ง์ ๋น๊ต
diff๊ฐ ์ฉ์ดํ๋๋ก HTML ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํจ
#
๋จ์ ์ค์ UI ๊ฒฐ๊ณผ๋ฌผ ํ๋ฉด๊ณผ HTML์ด ์ ํํ ์ผ์นํ๋ ๊ฒ์ ์๋๋ค.
HTML์ด ๋ฌ๋ผ๋ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์ผํ ์๋ ์๊ณ , ๊ทธ ๋ฐ๋๋ ๊ฐ๋ฅ
ํ ์คํธ ์ฝ๋๋ง ๋ณด๊ณ ์๋๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ต๋ค
#
์ค๋ ์ท ํ ์คํธ#
์ ๋ตํ์ฌ์ HTML ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ํ์ผ๋ก ์ ์ฅ, ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํ ์คํธ ์คํจ
์ค์ ๊ฒฐ๊ณผ๋ ํ์ผ ๋ด๋ถ๋ฅผ ํ์ธํด์ผ ํ๋ค
HTML์ ์ง์ ๋น๊ตํ๋ ๊ฒ๋ณด๋ค ๊ฐํธํ๋ค
ํ๊ท ํ ์คํธ์ ์ญํ
#
๋จ์ ํ ์คํธ์ ์๋๊ฐ ์๋ค
์ค๋ ์ท ๋ฐ์ดํฐ์ Diff๋ฅผ ๋ด๋ ์๋๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ต๋ค
์ต๊ด์ ์ผ๋ก ์ ๋ฐ์ดํธ ๋๋ฉด์ ํ ์คํธ์ ์ ๋ขฐ์ฑ์ด ๊ฐ์
#
์๊ฐ์ ํ ์คํธ#
์๊ฐ์ ํ ์คํธ์ ์ด๋ ค์์๋ํ๊ฐ ์ด๋ ต๋ค
์คํฌ๋ฆฐ์ท์ ์ฐ์ด๋ด๋ ๊ฒ์ด ๊ฐ์ฅ ํ ์คํธ์ ๋ชฉ์ ์ ๋ถํฉ
#
์คํ ๋ฆฌ๋ถ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ถ๋ฆฌ๋ ํ๊ฒฝ์์ UI๋ง ๊ฐ๋ฐํ ์ ์๋๋ก ๋์์ค๋ค
์ปดํฌ๋ํธ ๋ฐฉ์์ ๊ฐ๋ฐ์ ์ด์ธ๋ฆฐ๋ค
#
์๊ฐ์ ํ๊ท ํ ์คํธAI ๊ธฐ์ ํ์ฉ
์คํ ๋ฆฌ๋ถ / Cypress / ์ ๋ ๋์๊ณผ ์ฐ๋ํด์ ์ฌ์ฉ ๊ฐ๋ฅ
Percy, applitools, Chromatic
#
์๊ฐ์ ์์์ ๊ธฐ๋ฅ์ ์์ ๋ถ๋ฆฌ#
dom-testing-libraryIntroduction | Testing Library
CSS ์ ๋ ํฐ๋ฅผ ์ง์ํ๊ณ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ํ ์คํธ ์์ฃผ์ ์ ๋ ํฐ๋ฅผ ์ฌ์ฉ
getByText
,getByLabelText
,getByAltText
,getByTitle
,getByValue
ํ ์คํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋
data-test-id
์์ฑ์ ์ฌ์ฉgetByTestId
์ด๋ฒคํธ ์๋ฎฌ๋ ์ด์
fireEvent
DOM์ด ๋ณ๊ฒฝ๋๊ฑฐ๋ ํน์ ๋จ์ธ(Assertion)์ด ์ฑ๊ณตํ ๋๊น์ง ๊ธฐ๋ค๋ฆด ์ ์๋ ํจ์ - ๋น๋๊ธฐ ๋ก์ง ํ ์คํธ
wait
,waitForElement
,waitForDomChange
#
jest-domDOM๊ณผ ๊ด๋ จ๋ ๋ค์ํ ํ์์ ๋งค์ณ๋ฅผ ์ ๊ณต
toBeDisable
toBeVisible
toHaveTextContent
toHaveStyle
toHaveClass
...