๋ฌธ์
2๊ฐ์ง ์ธํ์ด ์๋ค.
"๋น๋ฐ๋ฒํธ"๋ฅผ ๋ผ๋ฒจ๋ก ๊ฐ์ง๋ ์ธํ 1๊ฐ์ "๋น๋ฐ๋ฒํธ ํ์ธ"์ ๋ผ๋ฒจ๋ก ๊ฐ์ง๋ ์ธํ 1๊ฐ
ํ ์คํธ๋ฅผ ๋๋ฆฌ๋๋ฐ ์ด์ํ๊ฒ "๋น๋ฐ๋ฒํธ ํ์ธ" ์ธํ์ ์ ๋ ฅ๋์ด์ผํ๋ ๊ฐ์ด ๊ณ์ ์์ "๋น๋ฐ๋ฒํธ" ์ธํ์ ์ ๋ ฅ๋๋ ํ์์ด ์์๋ค.
๋๋ฒ๊น ํ๊ธฐ ๋๋ฌด ์ด๋ ค์ ๋๊ฒ์, ํ ์คํธ์์ ์๋ฌ๋๋ ๋ถ๋ถ์ ๋น๋ฐ๋ฒํธ ํ์ธ ์ธํ DOM ์์๋ฅผ ์ฐพ์ง ๋ชปํด์๋ ์๋์๋ค. ๋น๋ฐ๋ฒํธ ํ์ธ ์ธํ์ ์ฐพ์์ง๋๋ฐ, ๊ทธ๊ฒ ์ ๋๋ก๋ ์๋ ๋น๋ฐ๋ฒํธ ํ์ธ ์ธํ์ด ์๋ ์์ ๋น๋ฐ๋ฒํธ ์ธํ์ผ๋ก ์ฐพ์์ง๋ ๋ฌธ์ ์๋ค.
๋๋์ฒด ์์ด๋ด๊น.. ํ๋ค๊ฐ Testing Playground์์ ์๋ํด๋ณด๋ค๊ฐ ๋๋์ด ์์ธ์ ์ฐพ์๋ค.
์์ธ
์ปดํฌ๋ํธ
<label for='pw'>๋น๋ฐ๋ฒํธ</label>
<input id='pw' />
<label for='pw'>๋น๋ฐ๋ฒํธ ํ์ธ</label>
<input id='pw' />
ํ ์คํธ์ฝ๋
screen.getByLabelText('๋น๋ฐ๋ฒํธ')
input์ id๊ฐ ๊ฐ์ ๊ฒฝ์ฐ, id๊ฐ ๊ฐ์ ๋ชจ๋ ์ธํ์ด ์๋์๊ฐ์ด ์ฐพ์์ง๋ค.
const input = screen.getByLabelText('๋น๋ฐ๋ฒํธ')
userEvent.type(input, '1111')
ํ์ง๋ง ์์ ๊ฐ์ด dom ์์๋ฅผ ๋ณ์์ ํ ๋นํ๊ฒ ๋๋ฉด ๊ฐ์ฅ ์์์ ์์๊ฐ ํ ๋น๋๊ณ , ๊ทธ ์์๋ฅผ ์ ํํ์ฌ ์ด๋ฒคํธ๋ฅผ ์ฃผ๋ ๊ฒ์ด๋ค.
๊ณตํต์ปดํฌ๋ํธ๋ก ์ด๋ค๊ณ ๋ง๋ค์ด๋ <TextField/>์ปดํฌ๋ํธ์ id๊ฐ์ ์ผ๊ด์ ์ผ๋ก ์ ์ด๋ ๋ถ๋ถ์์ ๋ฌธ์ ๊ฐ ์์๋ ๊ฒ์ด๋ค.
ํด๊ฒฐ์ ๊ณตํต์ปดํฌ๋ํธ์ ๋ถ์ฌํ id๊ฐ์ ์ญ์ ํ๋ฉด์ ํด๊ฒฐํ๋ค.
Mui ํ ์คํธํ๋๋ ์ง์ ํ id๊ฐ์ด ์์ผ๋ฉด ์๋์ผ๋ก ์๋ก random ๊ฐ์ ๋ง๋ค์ด์ค๋ค. ๊ทธ๋ ๊ธฐ๋๋ฌธ์ ์ปดํฌ๋ํธ๋ณ๋ก uniqueํ id๋ฅผ ๊ฐ์ ธ ์ธํ๋ผ๋ฆฌ ๊ฐ์ id๋ฅผ ๊ณต์ ํ ์ผ์ด ์๋ค.