React Testing Library

Implementation Driven Testμ—μ„œλŠ” 주둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€μ— λŒ€ν•΄μ„œ μ΄ˆμ μ„ 두어 ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.
<h2 class="title">제λͺ©</h2>
예λ₯Ό λ“€μ–΄, μœ„μ™€ 같은 UIλ₯Ό ν…ŒμŠ€νŠΈν•œλ‹€κ³  ν–ˆμ„ λ•Œ,Β <h2>λΌλŠ” νƒœκ·Έκ°€ μ“°μ˜€κ³ ,Β titleΒ μ΄λΌλŠ” ν΄λž˜μŠ€κ°€ μ‚¬μš©λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€.
λ°˜λ©΄μ—, Behavior Driven Testμ—μ„œλŠ” μ‚¬μš©μžκ°€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ΄μš©ν•˜λŠ” κ΄€μ μ—μ„œ μ‚¬μš©μžμ˜ μ‹€μ œ κ²½ν—˜ μœ„μ£Όλ‘œ ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€. μ‚¬μš©μžκ°€ μœ„ UIλ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ κ³Όμ—°Β <h2>Β νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜κ³ ,Β titleΒ μ΄λΌλŠ” ν΄λž˜μŠ€κ°€ μ‚¬μš©λ˜μ—ˆλŠ”μ§€ κ΄€μ‹¬μ΄λ‚˜ μžˆμ„κΉŒμš”? μ‚¬μš©μž μž…μž₯μ—μ„œλŠ” 단지 λΈŒλΌμš°μ € ν™”λ©΄μ—Β μ œλͺ©Β μ΄λΌλŠ” ν…μŠ€νŠΈκ°€ 보일 λΏμž…λ‹ˆλ‹€. λ”°λΌμ„œ, μ‚¬μš©μžμ—κ²Œ μ–΄λ–€ 컨텐츠가 ν˜„μž¬ 보이고, μ‚¬μš©μžκ°€ μ–΄λ–€ 이벀트λ₯Ό λ°œμƒμ‹œμΌ°μ„ λ•Œ, 그에 따라 화면에 λ³€ν™”κ°€ μΌμ–΄λ‚˜λŠ”μ§€λ₯Ό ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€.
자 μ—¬κΈ°μ„œ, λ§Œμ•½μ— μΆ”ν›„ μ–΄λ–€ 이유둜 μΈν•΄μ„œΒ <h2>Β νƒœκ·Έκ°€Β <h3>Β νƒœκ·Έλ‘œ λ°”λ€Œμ—ˆμ„ λ•ŒλŠ” μ–΄λ–€ 일이 λ‚ κΉŒμš”? Implementation Driven Test λ°©λ²•λ‘ μœΌλ‘œ μž‘μ„±λœ ν…ŒμŠ€νŠΈλŠ” κΉ¨μ§€μ§€λ§Œ, Behavior Driven Test λ°©λ°₯둠으둜 μž‘μ„±λœ ν…ŒμŠ€νŠΈλŠ” 깨지지 μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μž…μž₯μ—μ„œ 봀을 λ•ŒλŠ” κ΅¬ν˜„μ˜ λ””ν…ŒμΌμ΄ 바뀐 κ²ƒμ΄μ§€λ§Œ, μ‚¬μš©μž μž…μž₯μ—μ„œλŠ”Β μ œλͺ©Β μ΄λΌλŠ” ν…μŠ€νŠΈκ°€ ν™”λ©΄μžˆλ‹€λŠ” 사살은 변함이 μ—†κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
Β