π Chapter 2: νλ½ν κ°μ²΄
μΌλ°μ μΈ TDD μ£ΌκΈ°λ λ€μκ³Ό κ°λ€.
- ν μ€νΈλ₯Ό μμ±νλ€. λ§μμμ μλ μ€νΌλ μ΄μ μ΄ μ½λμ μ΄λ€ μμΌλ‘ λνλκΈΈ μνλμ§ μκ°ν΄λ³΄λΌ. μ΄μΌκΈ°λ₯Ό μ¨λ΄λ €κ°λ κ²μ΄λ€. μνλ μΈν°νμ΄μ€λ₯Ό κ°λ°νλΌ. μ¬λ°λ₯Έ λ΅μ μ»κΈ° μν΄ νμν μ΄μΌκΈ°μ λͺ¨λ μμλ₯Ό ν¬ν¨μμΌλΌ.
- μ€ν κ°λ₯νκ² λ§λ λ€. λ€λ₯Έ 무μ보λ€λ μ€μν κ²μ 빨리 μ΄λ‘ λ§λλ₯Ό 보λ κ²μ΄λ€. κΉλνκ³ λ¨μν ν΄λ²μ΄ λͺ λ°±ν 보μΈλ€λ©΄ κ·Έκ²μ μ λ ₯νλΌ. λ§μ½ κΉλνκ³ λ¨μν ν΄λ²μ΄ μμ§λ§ ꡬννλ λ° λͺ λΆ μ λ 걸릴 κ² κ°μΌλ©΄ μΌλ¨ μ μ΄ λμ λ€μ μλ λ¬Έμ λ‘ λμμ€μ.
- μ¬λ°λ₯΄κ² λ§λ λ€. μ΄μ μμ€ν μ΄ μλνλ―λ‘ μ§μ μ μ μ§λ λ μ£μ μ μμ΅νμ. μ’κ³ μ¬κ³§μ μννΈμ¨μ΄ μ μμ κΈΈλ‘ λλμμμ μ€λ³΅μ μ κ±°νκ³ μ΄λ‘ λ§λλ‘ λλ리μ.
μ°λ¦¬ λͺ©μ μ μλνλ κΉλν μ½λλ₯Ό μ»λ κ²μ΄λ€. μλνλ κΉλν μ½λλ₯Ό μ»λ κ²μ λλ‘λ μ΅κ³ μ νλ‘κ·Έλλ¨Έλ€ μ‘°μ°¨ λλ¬νκΈ° νλ λͺ©νκ³ , λκ°μ λλΆλΆμ νλ²ν νλ‘κ·Έλλ¨Έλ€μκ²λ κ±°μ λΆκ°λ₯ν μΌμ΄λ€. κ·Έλ λ€λ©΄ λλμ΄μ μ 볡νμ. μΌλ¨ "μλνλ κΉλν μ½λ"λ₯Ό μ»μ΄μΌ νλ€λ μ 체 λ¬Έμ μ€μμ "μλνλ"μ ν΄λΉνλ λΆλΆμ λ¨Όμ ν΄κ²°νλΌ. κ·Έλ¬κ³ λμ "κΉλν μ½λ" λΆλΆμ ν΄κ²°νλ κ²μ΄λ€. μ΄λ¬ν μ κ·Ό λ°©μμ "κΉλν μ½λ" λΆλΆμ λ¨Όμ ν΄κ²°ν νμ, "μλνλ" λΆλΆμ ν΄κ²°ν΄ κ°λ©΄μ λ°°μ΄ κ²λ€μ μ€κ³μ λ°μνλλΌ νλ₯거리λ μν€ν μ² μ£Όλ κ°λ°κ³Ό μ λ°λλ€.
λλ λ€μκ³Ό κ°μ΄ μΈ μ μκΈΈ λ°λλ€.
public void testMultiplication() {
Dollar five = new Dollar(5);
five.times(2);
assertEquals(10, product.amount);
five.times(3);
assertEquals(15, product.amount);
}
Dollar
μ μΈν°νμ΄μ€λ₯Ό μμ ν΄μΌ νκ³ , κ·Έλ¬κΈ° μν΄μλ ν
μ€νΈλ μμ ν΄μΌ νλ€.
public void testMultiplication() {
Dollar five = new Dollar(5);
Dollar product = five.times(2);
assertEquals(10, product.amount);
product = five.times(3);
assertEquals(15, product.amount);
}
Dollar.times()
λ₯Ό μλμ κ°μ΄ μμ νκΈ° μ μ μ ν
μ€νΈλ μ»΄νμΌμ‘°μ°¨ λμ§ μμ κ²μ΄λ€.
Dollar times(int multiplier) {
amount *= multiplier;
return null;
}
μ΄μ ν
μ€νΈκ° μ»΄νμΌλλ€. νμ§λ§ μ€νλμ§λ μλλ€. κ·Έλλ ν κ±Έμ λμκ° κ²μ΄λ€! ν
μ€νΈλ₯Ό ν΅κ³ΌνκΈ° μν΄μλ μ¬λ°λ₯Έ κΈμ‘μ κ°λ μ Dollar
λ₯Ό λ°νν΄μΌ νλ€.
Dollar times(int multiplier) {
return new Dollar(amount * multiplier);
}
λ€μμ μ΅λν 빨리 μ΄λ‘μμ 보기 μν΄ μ·¨ν μ μλ λ΄κ° μλ μΈ μ λ΅ μ€ λ κ°μ§λ€.
- κ°μ§λ‘ ꡬννκΈ°: μμλ₯Ό λ°ννκ² λ§λ€κ³ μ§μ§ μ½λλ₯Ό μ»μ λκΉμ§ λ¨κ³μ μΌλ‘ μμλ₯Ό λ³μλ‘ λ°κΎΈμ΄ κ°λ€.
- λͺ λ°±ν ꡬν μ¬μ©νκΈ°: μ€μ ꡬνμ μ λ ₯νλ€.
λλ λ³΄ν΅ μ€λ¬΄μμ TDDλ₯Ό μ¬μ©ν λ λ λ°©λ²μ λ²κ°μκ°λ©° μ¬μ©νλ€. λͺ¨λ μΌμ΄ μμ°μ€λ½κ² μ μ§νλκ³ λ΄κ° λ μ λ ₯ν΄μΌ ν μ§ μ λλ λͺ λ°±ν ꡬνμ κ³μ λν΄ λκ°λ€. μμμΉ λͺ»ν λΉ¨κ° λ§λλ₯Ό λ§λκ² λλ©΄ λ€λ‘ νλ° λ¬Όλ¬μμ κ°μ§λ‘ ꡬννκΈ° λ°©λ²μ μ¬μ©νλ©΄μ μ¬λ°λ₯Έ μ½λλ‘ λ¦¬ν©ν λ§νλ€. κ·Έλ¬λ€ λ€μ μμ κ°μ λμ°ΎμΌλ©΄ λͺ λ°±ν ꡬν μ¬μ©νκΈ° λͺ¨λλ‘ λμμ¨λ€.