https://velog.io/@evergreen_tree/TDD-1.-TDD%EB%9E%80 μμ μ΄μ΄μ§λλ€.
πββοΈΒ μλλ‘μ΄λμμ μ΄λ ν κΈ°λ₯μ κ°λ°ν λ, μλ₯Ό λ€μ΄ bmi calculatorλ₯Ό κ°λ°νλ€κ³ μκ°ν΄ λ΄ μλ€.
μμ λ°©μμΌλ‘ κ°λ°μ μ§ννλ©΄ μμ κ·λͺ¨μ νλ‘μ νΈμλ μκ΄μ΄ μμ μ§ λͺ¨λ¦ λλ€. κ·Έλ°λ° bmi calculatorλΌλ κΈ°λ₯μ μ΄λ€ κΈ°μ μ λκ·λͺ¨ μμ€ν μ μΆκ°ν΄μΌ νλ€λ©΄? ν΄λΉ κΈ°λ₯κΉμ§ μ°Ύμκ°μΌ νλ μκ°κ³Ό, λΉλ μκ°μΌλ‘ μΈν΄ μλΉν λΉν¨μ¨μ μΌ κ²μ λλ€.
TDD κΈ°λ° κ°λ°μ μμ²λΌ μ±μ κ·λͺ¨κ° 컀μ§μλ‘ λμ± λκ°μ λνλ λλ€. μ΄μ ν¬μ€ν μμλ TDDμ λν΄ μμ보μκ³ , μ΄λ² ν¬μ€ν μμλ μλλ‘μ΄λμμμ Testλ μ΄λ€μ§ μμλ³΄κ² μ΅λλ€.
νλ μμν¬μλ λ³κ°λ‘ μ½νλ¦° μ½λλ‘ μΆ©λΆν μνν μ μλ ν μ€νΈ.
ν μ€νΈ μκ°μ μ΅μν νκΈ° μν΄ JVM μμ λ‘μ»¬λ‘ μ€ννλλ‘ μ»΄νμΌ λ©λλ€.
Android νλ μμν¬μ μ°κ΄λμ΄ λμλλ μ½λλ€μ μνν μ μλ ν μ€νΈ.
μλλ‘μ΄λ λλ°μ΄μ€λ₯Ό μ΄μ©ν ν μ€νΈλ‘ μ½κ³ , λ‘컬 ν μ€νΈμμ μΊμΉν μ μλ μ μ κ²μ¦ν μ μμΌλ ν μ€νΈ μλκ° λ립λλ€.
μ€μ λ‘ μλλ‘μ΄λ νλ‘μ νΈλ₯Ό μμ±νλ©΄ κΈ°λ³Έμ μΌλ‘ μλ ν¨ν€μ§λ₯Ό μ 곡ν©λλ€.
λͺ©μ μ λ§λ ν¨ν€μ§μμ ν
μ€ν
ν΄λμ€λ₯Ό μ μνκ³ , ν
μ€νΈλ₯Ό μ§νν μ μμ΅λλ€.
TDDμμ μ₯μ μ€ νλμΈ, βν μ€νΈ μ½λ μμ²΄λ‘ λ¬Έμκ° λ μ μλ€β κ° μ§μΌμ§κΈ° μν΄μλ, κ°λ μ±μ΄ μ’μ ν μ€νΈ μ½λλ₯Ό μμ±νλ κ²μ΄ μ’μ΅λλ€.
μ¬λ¬ λ€μ΄λ° κ·μΉλ€μ΄ μμΌλ, ν΅μμ μΌλ‘ μ¬μ©λλ ν νλ¦Ώμ λλ€.
ν΄λμ€ : ExampleTest
Example
: ν΄λμ€ μ΄λ¦
λ©μλ : subjectUnderTest_actionOrInput_resultState
subjectUnderTest
: ν
μ€νΈ λμμ΄ λλ ν΄λμ€λ ν¨μλͺ
actionOrInput
: ν
μ€νΈμμμ action λλ input
resultState
: μμ±ν ν
μ€ν
ν¨μμμμ κΈ°λκ°(Then)
Given
When
Then
μ°Έκ³ μλ£
https://velog.io/@l2hyunwoo/Testing-Basics
bmi calculatorλ μ μ 격 ν건κ°μ? μ λ€μ΄μ΄νΈ νλΌλ λ§μΈκ°μ? μ¬κ³ΌνμΈμ§