ν μ€νΈ κΈ°λ³Έ
Sonamuλ μ΄λ€ ν
μ€νΈ νλ μμν¬λ₯Ό μ¬μ©νλμ?
Sonamuλ μ΄λ€ ν μ€νΈ νλ μμν¬λ₯Ό μ¬μ©νλμ?
Sonamuλ Vitestλ₯Ό μ¬μ©ν©λλ€.νΉμ§:
- Vite κΈ°λ°μΌλ‘ λ§€μ° λΉ λ₯Έ μ€ν μλ
- Jest νΈν API
- TypeScript λ€μ΄ν°λΈ μ§μ
- HMR μ§μ
ν
μ€νΈλ₯Ό μ€ννλ €λ©΄?
ν μ€νΈλ₯Ό μ€ννλ €λ©΄?
ν
μ€νΈ νμΌμ μμ±νλ €λ©΄?
ν μ€νΈ νμΌμ μμ±νλ €λ©΄?
ScaffoldingμΌλ‘ μμ±:
- Sonamu UI μ μ
- Scaffolding ν
- Entity μ ν
- Template:
model_testμ ν - Generate ν΄λ¦
ν μ€νΈ λ°μ΄ν°
ν
μ€νΈ λ°μ΄ν°λ₯Ό μ€λΉνλ €λ©΄?
ν μ€νΈ λ°μ΄ν°λ₯Ό μ€λΉνλ €λ©΄?
setTestData() λ©μλ:ν
μ€νΈμμ μ¬μ©:
ν
μ€νΈλ§λ€ DBλ₯Ό μ΄κΈ°ννλ €λ©΄?
ν μ€νΈλ§λ€ DBλ₯Ό μ΄κΈ°ννλ €λ©΄?
beforeEach μ¬μ©:
λͺ¨λΈ ν μ€νΈ
CRUD λ©μλλ₯Ό ν
μ€νΈνλ €λ©΄?
CRUD λ©μλλ₯Ό ν μ€νΈνλ €λ©΄?
Subsetμ ν
μ€νΈνλ €λ©΄?
Subsetμ ν μ€νΈνλ €λ©΄?
κ΄κ³(Relation)λ₯Ό ν
μ€νΈνλ €λ©΄?
κ΄κ³(Relation)λ₯Ό ν μ€νΈνλ €λ©΄?
API ν μ€νΈ
API λ©μλλ₯Ό ν
μ€νΈνλ €λ©΄?
API λ©μλλ₯Ό ν μ€νΈνλ €λ©΄?
μλ¬λ₯Ό ν
μ€νΈνλ €λ©΄?
μλ¬λ₯Ό ν μ€νΈνλ €λ©΄?
κ³ κΈ ν μ€νΈ
νΈλμμ
μ ν
μ€νΈνλ €λ©΄?
νΈλμμ μ ν μ€νΈνλ €λ©΄?
λΉλκΈ° μμ
μ ν
μ€νΈνλ €λ©΄?
λΉλκΈ° μμ μ ν μ€νΈνλ €λ©΄?
Mockμ μ¬μ©νλ €λ©΄?
Mockμ μ¬μ©νλ €λ©΄?
ν μ€νΈ ν¨ν΄
test.eachλ‘ λ°λ³΅ ν
μ€νΈνλ €λ©΄?
test.eachλ‘ λ°λ³΅ ν μ€νΈνλ €λ©΄?
ν
μ€νΈλ₯Ό κ·Έλ£Ήννλ €λ©΄?
ν μ€νΈλ₯Ό κ·Έλ£Ήννλ €λ©΄?
Best Practices
ν
μ€νΈ μμ± μ μ£Όμμ¬ν
ν μ€νΈ μμ± μ μ£Όμμ¬ν
DO:
- β κ° ν μ€νΈλ λ 립μ μΌλ‘ μ€ν κ°λ₯ν΄μΌ ν¨
- β
beforeAllμ΄λbeforeEachλ‘ ν μ€νΈ λ°μ΄ν° μ΄κΈ°ν - β μλ―Έ μλ ν μ€νΈ μ΄λ¦ μ¬μ©
- β νλμ ν μ€νΈμμ νλμ κΈ°λ₯λ§ ν μ€νΈ
- β μλ¬ μΌμ΄μ€λ λ°λμ ν μ€νΈ
- β ν μ€νΈ κ° μμ‘΄μ± λ§λ€μ§ μκΈ°
- β μ€μ μΈλΆ μλΉμ€ νΈμΆνμ§ μκΈ° (Mock μ¬μ©)
- β νλ‘λμ DB μ¬μ©νμ§ μκΈ°
- β νλμ½λ©λ IDλ λ μ§ μ¬μ© μ§μ
- β ν μ€νΈ μ€ν¨λ₯Ό 무μνμ§ μκΈ°