μλ νμΈμ μλ Όμ λλ€! μνν λ²μ μ λ©μ§ μ κΈ°λ₯μ΄ μΆκ°λ λ©μ§ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ 곡ν΄μ£Όμ μ κ°μ¬ν©λλ€. λλ μλ‘ λμ λ APIμ λν΄ preλ₯Ό μ¬μ©ν΄ μμ§λ§(λλ μ§μ νμ₯μ μμ±νλ €κ³ νκ³ μμ€λ₯Ό νν€μΉλ λμ μ½λλ₯Ό λ°κ²¬νλ€) .6 릴리μ€κ° μ°λ¦¬μ λκ·λͺ¨ ν μ€νΈ μ€μνΈλ₯Ό λ§κ°λ¨λ Έλ€.
λ¬΄μ¨ μΌμ΄ μΌμ΄λ κ²μ΄λΌκ³ μμνμ΅λκΉ?
λ€λ₯΄μ§λ§ "λμΌν" μ€λ₯ μΈμ€ν΄μ€κ° μ λ¬λμμ λ .deep.equals
μ΄μ€μ
μ΄ μ€ν¨ν κ²μΌλ‘ μμνμ§ μμμ΅λλ€.
μ€μ λ‘ μΌμ΄λλ μΌ
Error
μ λͺ¨λ νμ ν΄λμ€μ λν΄ deep equals
λ μ νν equals
ν©λλ€. https://github.com/sinonjs/sinon/blob/master/lib/sinon/util/core/deep-equal.js#L54 -L56
μλ νμΈμ μ¬λ¬λΆ!
μ΄κ²μ μ€μ λ‘ ν΄κ²°νκΈ° μ¬μ΄ λ¬Έμ μ΄λ©° μ΄μ λν΄ PRμ ν μν₯μ΄ μμ΅λλ€. κ·Έλ¬λ if
μ μ μμ νλ κ² μΈμ λ€λ₯Έ μ κ·Ό λ°©μμ μ μνκ³ μΆμ΅λλ€.
Chai
μλ κΉμ λλ±μ± κ²μ¬λ₯Ό μννλ deep-eql
λΌλ λͺ¨λμ΄ μμ΅λλ€. μ±λ₯μ μν΄ κ΄λ²μνκ² ν
μ€νΈλκ³ λ―ΈμΈ μ‘°μ λμμΌλ©° Chaiμ μ½μ΄μμ μ μλν©λλ€.
λμΌν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ±νν¨μΌλ‘μ¨ μ°λ¦¬λ λν κ·Έκ²μ κ°μ νκ³ κ·Έκ²μ μ¬μ©νλ λͺ¨λ νλ‘μ νΈμ λ λμ κ²μ λ§λ€κΈ° μν΄ λ―Έλμ λμΌν μ½λλ² μ΄μ€μμ μμ ν κ²μ λλ€.
λν μ΄ λΌμ΄λΈλ¬λ¦¬κ° νμ©νλ comparator
μΈμ λ‘ μΈν΄ use
λ©μλ λ₯Ό μ¬μ©ν μ μμ΅λλ€.
μ±ννκ³ μΆμ§ μλ€λ©΄ κ·Έκ²λ μ’μ§λ§ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μ μ μ μν μκ°λ§ νμ΅λλ€.
@lucasfcosta μ μλ μ루μ
μ΄ λ§μμ match
λ₯Ό λκΈλ§νλ κ²μ μ½κ°μ λμ μΌ μ μμ§λ§ ... λΉμ μ λμ μ μ’μνλ κ² κ°μ΅λλ€ ;)
μ½λλ² μ΄μ€μ ν¬κΈ°λ₯Ό μ€μ΄λ PRμ λ³΄κ³ μΆμ΅λλ€.
μ΄ λ¬Έμ λ μ΅κ·Ό νλμ΄ μμκΈ° λλ¬Έμ μλμΌλ‘ μ€λλ κ²μΌλ‘ νμλμμ΅λλ€. λ μ΄μ νλμ΄ μμΌλ©΄ νμλ©λλ€. κ·νμ κΈ°μ¬μ κ°μ¬λ립λλ€.
κ°μ₯ μ μ©ν λκΈ
μλ νμΈμ μ¬λ¬λΆ!
μ΄κ²μ μ€μ λ‘ ν΄κ²°νκΈ° μ¬μ΄ λ¬Έμ μ΄λ©° μ΄μ λν΄ PRμ ν μν₯μ΄ μμ΅λλ€. κ·Έλ¬λ
if
μ μ μμ νλ κ² μΈμ λ€λ₯Έ μ κ·Ό λ°©μμ μ μνκ³ μΆμ΅λλ€.Chai
μλ κΉμ λλ±μ± κ²μ¬λ₯Ό μννλdeep-eql
λΌλ λͺ¨λμ΄ μμ΅λλ€. μ±λ₯μ μν΄ κ΄λ²μνκ² ν μ€νΈλκ³ λ―ΈμΈ μ‘°μ λμμΌλ©° Chaiμ μ½μ΄μμ μ μλν©λλ€.λμΌν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ±νν¨μΌλ‘μ¨ μ°λ¦¬λ λν κ·Έκ²μ κ°μ νκ³ κ·Έκ²μ μ¬μ©νλ λͺ¨λ νλ‘μ νΈμ λ λμ κ²μ λ§λ€κΈ° μν΄ λ―Έλμ λμΌν μ½λλ² μ΄μ€μμ μμ ν κ²μ λλ€.
λν μ΄ λΌμ΄λΈλ¬λ¦¬κ° νμ©νλ
comparator
μΈμ λ‘ μΈν΄use
λ©μλ λ₯Ό μ¬μ©ν μ μμ΅λλ€.μ±ννκ³ μΆμ§ μλ€λ©΄ κ·Έκ²λ μ’μ§λ§ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μ μ μ μν μκ°λ§ νμ΅λλ€.