λ¨μν μ€νΈ (Unit Test)
- λ¨μν μ€νΈλ 'νλμ κΈ°λ₯ λλ λ©μλλ₯Ό κΈ°μ€μΌλ‘ λ 립μ μΌλ‘ μ§νλλ κ°μ₯ μμ λ¨μμ ν μ€νΈ'
- ν λ¨μμ κΈ°λ₯μ΄ μ¬λ°λ₯΄κ² λμνλμ§ ν μ€νΈνλ©° μ΄λ€κ°μ΄ μ£Όμ΄μ‘μ λ μμκ²°κ³Όκ° λμ€λλ‘ νμ¬ ν μ€νΈλ₯Ό μ§ννλ€.
vs. ν΅ν©ν μ€νΈ
ν΅ν©ν μ€νΈλ λͺ¨λκ°μ νΈνμ±μ νμΈνκ³ λͺ¨λμ ν΅ν©νλ κ³Όμ μμ μννλ ν μ€νΈμ΄λ€. λ§μ λͺ¨λλ€μ΄ λ§λ¬Όλ €μ μλ‘μκ² λ©μμ§λ₯Ό μ£Όκ³ λ°μΌλ©° λμνλ―λ‘ λͺ¨λλ€μ μ°κ³κ° μ μμ μΈμ§ κ²μ¦νλ κ³Όμ μ΄ νμνλ€. κ·Έλ¬λ―λ‘ ν΄λΌμ΄μΈνΈκ° APIνΈμΆν λ λΆν° μλ΅κΉμ§ μ μμ μΌλ‘ μλνλμ§ ν μ€νΈ νλ κ²μ΄λ€.
κ·Έλ λ€λ©΄ κ·Έλ₯ λͺ¨λλ€μ΄ λͺ¨λ μ°κ³λ μμ ν ν μ€νΈλ₯Ό μ§ννμ§ μκ³ λ¨μν μ€νΈλ₯Ό μ§ννλ μ΄μ λ 무μμΌκΉ?
λͺ¨λλ€μ΄ μ°κ³λ ν΅ν© ν μ€νΈλ₯Ό νκΈ° μν΄μλ λ€λ₯Έ μλΉμ€λ λ°μ΄ν°λ² μ΄μ€ λ±μ μ€μ μ°κ²°μ ν΄μΌνκ³ μ΄λ ν μ€νΈ μκ°μ μ¦κ°λ‘ μ΄μ΄μ§λ€. λν λ΄κ° ν μ€νΈνκ³ μΆμ λͺ¨λμ΄μΈμ λ€λ₯Έ λͺ¨λμ μν΄ ν μ€νΈ κ²°κ³Όκ° μν₯μ λ°μ μ μλ€.
- λ¨μν
μ€νΈλ‘ μ»λ μ΄μ λ€
- μνλ λΆλΆλ§ λ 립μ μΌλ‘ ν μ€νΈν μ μλ€.
- μ½λ 리ν©ν λ§ μ λ³κ²½μΌλ‘ μΈν΄ μ€λ₯κ° λ°μν μ μλ μ§ λ¨μν μ€νΈλ₯Ό μ€νν΄μ λ°λ‘ νμΈν μ μλ€.
- ν μ€νΈμ½λλ₯Ό μμ±ν¨μΌλ‘μ¨ λ¬Έμνκ° λ μ μλ€.
λ³κ²½μ΄ λ°μνμ λ μ°λ¦¬λ μμ±λ ν μ€νΈμ½λλ₯Ό μ€ννλ κ²λ§μΌλ‘ λ³κ²½μ μν μν₯μ νμ ν μ μκ³ λκ°μ μν©μ νλ€μ΄μ§ μκ³ μ¬νν΄λΌ μ μλ€.
λ¨μν μ€νΈλ₯Ό μν stubμ¬μ©
νμ¬ ν μ€νΈνλ €λ λͺ¨λμ΄ λ€λ₯Έ λͺ¨λμ μλΉμ€λ₯Ό νμλ‘ νλ€λ©΄ μ΄λ»κ² μ΄ λͺ¨λμλ§ λ 립μ μΈ ν μ€νΈλ₯Ό ꡬμ±ν μ μμκΉ?
μ°λ¦¬λ μ΄ λ¬Έμ λ₯Ό μ€μ μλΉμ€ κ°μ²΄ λμ 'κ°μ§ κ°μ²΄'λ₯Ό μ£Όμ νμ¬ ν΄κ²°νλ€. 'κ°μ§κ°μ²΄'(Mock)λ μμ² μμ μ°λ¦¬κ° 미리 μ μν΄ λ λ°νκ°μ λ°ννλ€. (stub)
μ΄λ κ² λλ©΄ μ°λ¦¬λ λ€λ₯Έ λͺ¨λμ μν₯μ λ°μ§λ μκ³ μ£Όμ§λ μμΌλ©΄μ νμ¬ ν μ€νΈνλ €λ κΈ°λ₯μ μ§μ€ν΄μ κ²μ¦μ μ§νν μ μλ€.
μꡬμ¬νμ΄ λ³νλ©΄ μ½λκ° λ³κ²½λκ³ λ³κ²½λ μ½λλ‘ μΈν΄ μ€λ₯λ₯Ό λ°μμν¬ μ μλ€. ν μ€νΈ μ½λλ λ³κ²½λ μ½λλ₯Ό κ²μ¦ν μ’μ λ°©λ²μ΄λ€. νμ§λ§ μ½λκ° λ³κ²½λλ©΄ ν μ€νΈ μ½λλ λ³κ²½λ μ μλ€.
κ·Έλ¬λ―λ‘ ν μ€νΈ μ½λλ κ°λ μ±μκ² μ§λ κ²μ΄ μ’λ€. ν μ€νΈν¨μλ 1κ°μ§ κ°λ κ³Ό assertλ§ μ¬μ©νλ κ²μ΄ μ’λ€.
κ°λ°μ νλ€λ³΄λ©΄ λ°λ³΅μ μΌλ‘ λκ°μ ν μ€νΈλ₯Ό μ§νν΄μΌνλ κ²½μ°κ° μκΈ΄λ€. μ΄ λ μ§μ λκ°μ μν©μ λ§λ€μ΄μ ν μ€νΈ νλ κ²μ΄ μλλΌ νλ² ν μ€νΈ μ½λλ₯Ό μ λλ‘ μμ±νλ©΄ λ°λ³΅μ μΌλ‘ λκ°μ μν©μ λν΄ ν μ€νΈλ₯Ό λΉ λ₯΄κ² μνν μ μλ€.
'πComputer Scienceπ > κ°λ° μμ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Cloud] AWS μλ² νκ²½ ꡬμΆνκΈ° (0) | 2021.06.01 |
---|