[TestCaseSource(nameof(GeneratorMethod))]
λ₯Ό μ¬μ©ν λ μμ±κΈ°κ° μ
λ ₯μ μμ±νμ§ μμΌλ©΄ ν
μ€νΈμ μ€ν¨νκ±°λ 건λλ΄ κ²μΌλ‘ νμνλ κ²μ΄ ν©λ¦¬μ μ
λλ€. μ΅μν ν
μ€νΈλ₯Ό ν΅κ³Όν κ²μΌλ‘ νμνμ§ λ§μμμ€./
λ©λͺ¨λ¦¬κ° μλνλ©΄ λͺ λ μ λ²κ·Έ λ³΄κ³ μλ‘ μΈν΄ μλνλ κ²μ²λΌ μλνλ―λ‘ μ΄ κ²½μ° ν΅κ³Όν΄μΌ νλ€κ³ νμ νμ΅λλ€.
π’
λ°©κΈ μμ€μ (νμ¬) νλμ νλͺ©μΌλ‘ ν μ€νΈλ₯Ό μμ±νμΌλ©° TDD μ£ΌκΈ°μ μλ‘μ΄ ν μ€νΈμ΄λ―λ‘ μ€ν¨ν κ²μΌλ‘ μμνμ§λ§ ν΅κ³Όν κ²μΌλ‘ λνλ¬μ΅λλ€... κ·Έλμ κ²°ν¨μ΄ μλ λ°μ κΈ°λ₯Ό μΆμ ν΄μΌ νμ΅λλ€.
μλ§λ μ€ν¨λ λ€μ κ°νΉν κ²μ λλ€ (λ΄ μ·¨ν₯μ΄μ§λ§ μ΄μ νΈμ κΈ°μμκ²λ μ§μ¦λ μ μμ). ν μ€νΈλ₯Ό 건λλ΄ κ²μΌλ‘ νμνλ κ²μ μ΄λ»μ΅λκΉ?
κ³ λ €ν΄μΌ ν λͺ κ°μ§ μ¬ν...
μ¬λ¬ μμ€κ° μμ μ μμΌλ―λ‘ λ Όμκ° __each__ μμ€μ μ μ©λλμ§ μλλ©΄ λͺ¨λ μμ€μ μ§κ³ κ²°κ³Όμ μ μ©λλμ§ λͺ νν΄μΌ ν©λλ€.
μμ€λ λ°μ΄ν°λΏλ§ μλλΌ ν μ€νΈλ₯Ό μμ±ν©λλ€. ν μ€νΈκ° μμ±λμ§ μμΌλ©΄ μ€ν¨νκ±°λ 건λλΈ κ²μ΄ μμ΅λλ€. λ¨Ό κ³Όκ±°(V2)μμ μ°λ¦¬λ κ°μ§ μ€ν¨ ν μ€νΈλ₯Ό μμ±νλλ°, κ²°κ΅ μ½λμμ μ§μ λΆνκ³ μ¬μ©μμκ² νΌλμ μΌκΈ°νμ΅λλ€.
μΌμ΄μ€κ° μλ ν μ€νΈ λ°©λ²μ μ½λκ° μλ λ°©λ²κ³Ό μ½κ° λΉμ·ν©λλ€. λν ν μ€νΈκ° μλ κ³ μ μ₯μΉμ κ°μ΅λλ€. μ°λ¦¬λ μ§λκ°λ μ¬λλ€μ κ³ λ €ν©λλ€.
ν μ€νΈλ₯Ό μ΄λ‘ μ΄λΌκ³ νλ©΄ ν΅κ³Ό μ¬λ‘κ° μμΌλ©΄ μ€ν¨ν©λλ€.
νμ¬ λμμ μ μ§νλ λ° ν¬ννμ§λ§ μ¬λ‘κ° μμ±λμ§ μμΌλ©΄ μ¬μ©μμκ² κ²½κ³ λ©μμ§λ₯Ό μμ²ν μ μλ λ°©λ²μ μ 곡ν©λλ€.
κ°μ₯ μ μ©ν λκΈ
κ³ λ €ν΄μΌ ν λͺ κ°μ§ μ¬ν...
μ¬λ¬ μμ€κ° μμ μ μμΌλ―λ‘ λ Όμκ° __each__ μμ€μ μ μ©λλμ§ μλλ©΄ λͺ¨λ μμ€μ μ§κ³ κ²°κ³Όμ μ μ©λλμ§ λͺ νν΄μΌ ν©λλ€.
μμ€λ λ°μ΄ν°λΏλ§ μλλΌ ν μ€νΈλ₯Ό μμ±ν©λλ€. ν μ€νΈκ° μμ±λμ§ μμΌλ©΄ μ€ν¨νκ±°λ 건λλΈ κ²μ΄ μμ΅λλ€. λ¨Ό κ³Όκ±°(V2)μμ μ°λ¦¬λ κ°μ§ μ€ν¨ ν μ€νΈλ₯Ό μμ±νλλ°, κ²°κ΅ μ½λμμ μ§μ λΆνκ³ μ¬μ©μμκ² νΌλμ μΌκΈ°νμ΅λλ€.
μΌμ΄μ€κ° μλ ν μ€νΈ λ°©λ²μ μ½λκ° μλ λ°©λ²κ³Ό μ½κ° λΉμ·ν©λλ€. λν ν μ€νΈκ° μλ κ³ μ μ₯μΉμ κ°μ΅λλ€. μ°λ¦¬λ μ§λκ°λ μ¬λλ€μ κ³ λ €ν©λλ€.
ν μ€νΈλ₯Ό μ΄λ‘ μ΄λΌκ³ νλ©΄ ν΅κ³Ό μ¬λ‘κ° μμΌλ©΄ μ€ν¨ν©λλ€.
νμ¬ λμμ μ μ§νλ λ° ν¬ννμ§λ§ μ¬λ‘κ° μμ±λμ§ μμΌλ©΄ μ¬μ©μμκ² κ²½κ³ λ©μμ§λ₯Ό μμ²ν μ μλ λ°©λ²μ μ 곡ν©λλ€.