λλ λλ΄μΌλ‘ μ¬μ© μ¬λ‘μ λ°λΌ κ°μ₯ μ μ κ·Όνλ λ°©λ²μ μμ λ΄λ €κ³ λ Έλ ₯νκ³ μμ΅λλ€.
λλ κΈ°λ₯μ μ‘°λ‘±νκ³ μΆμ§ μκ³ κ·Έκ²μ κ°μνκ³ μλ ꡬνμ΄ μμ μ μννλλ‘ ν©λλ€. Postgres λλΌμ΄λ²μμ μΏΌλ¦¬κ° νΈμΆλ νμλ₯Ό μΆμ νκ³ μΆλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€. λ€μ μ κ·Ό λ°©μμ΄ μλν©λλ€.
const querySpy = pg.Client.prototype.query = jest.fn(pg.Client.prototype.query);
expect(querySpy.mock.calls.length).toBe(2)
λ¬Έμ λ ν μ€νΈκ° λλ λ μλ ꡬνμ ν λΉν΄μΌ λμΌν νμΌμ λ€λ₯Έ μ¬λλ€μκ² μν₯μ λ―ΈμΉμ§ μλλ€λ κ²μ λλ€. λ°λΌμ ν μ¬λμ΄ μ΄λ¬ν μ 리λ₯Ό μμ΄λ²λ¦¬λ©΄ ν μ€νΈ 격리λ₯Ό ν΄μ νλ κ²μ΄ κ°λ¨ν©λλ€.
λλ λν jasmineμ΄ spyOnμ κ°μ§κ³ μλ€λ κ²μ μμμ°¨λ Έμ΅λλ€. μ΄ spyOnμ μ°μ€κ½μ€λ½κ²λ μλνλ κ² κ°μ΅λλ€(λ¬Έμνλμ§λ μμ). μ΄λ λ§€μ° μ°μνλ―λ‘ λ€μκ³Ό κ°μ λ°©λ²μΌλ‘ λμΌν μμ μ μνν μ μμ΅λλ€.
const querySpy = spyOn(pg.Client.prototype, 'query').and.callThrough();
expect(querySpy.calls.count()).toEqual(3);
κ·Έλ¦¬κ³ μ¬μ€λ―Όμ ν μ€νΈ ν μλμΌλ‘ μ€νμ΄λ₯Ό μ κ±°νλ€κ³ μ£Όμ₯νλλ°, μ λ§ λλ¨ν©λλ€.
κ·Έλ¬λ κ·Έκ²μ΄ λλ΄μ 곡μμ μΈ μΌλΆκ° λ κ²μΈμ§ νμ€νμ§ μμ΅λκΉ? λ¬Έμ λ μ¬μ€λ―Ό μ€νμ΄κ° λλ΄μ νλ κ²κ³Ό λ€λ₯Έ μΈν°νμ΄μ€λ₯Ό κ°μ§κ³ μλ€λ κ²μ
λλ€. λ°λΌμ spyOn
λλ μ΄μ μ μ¬ν κ²μ μ¬μ©νμ¬ μ€νμ΄μ μ½κ² μ¬μ©ν μ μλλ‘ λͺ¨μ κΈ°λ₯μ νμ₯νλ κ²μ΄ κ°μ₯ μ’μ΅λλ€.
λͺ¨λ νΌλλ°±μ νμν©λλ€.
μ΄κ²μ #1679μ μΌλΆλ‘ μΆμ λ©λλ€.
μ΄κ²μ λν΄ μ ννμ§ μμ μ μμ§λ§ ν
μ€νΈκ° λλ λ μ£Όμ₯ν 'μλ 볡μ'μ μννμ§ μλλ€λ μ μμ expect.spyOn
jasmines spyOn
μ λ€λ₯΄μ§ μμ΅λκΉ? μ΄ κΈ°λ₯μ κ½€ κΉλνκ³ μ¬μ νμΌμ μ 리νλ€κ³ μκ°ν©λλ€. #1679λ₯Ό ν΅ν©ν λ μ΄λ¬ν μ’
λ₯μ κΈ°λ₯μ μΆκ°ν κ³νμ΄ μμ΅λκΉ?
#2534λ μ°Έμ‘°νμμμ€.
κ°μ₯ μ μ©ν λκΈ
μ΄κ²μ λν΄ μ ννμ§ μμ μ μμ§λ§ ν μ€νΈκ° λλ λ μ£Όμ₯ν 'μλ 볡μ'μ μννμ§ μλλ€λ μ μμ
expect.spyOn
jasminesspyOn
μ λ€λ₯΄μ§ μμ΅λκΉ? μ΄ κΈ°λ₯μ κ½€ κΉλνκ³ μ¬μ νμΌμ μ 리νλ€κ³ μκ°ν©λλ€. #1679λ₯Ό ν΅ν©ν λ μ΄λ¬ν μ’ λ₯μ κΈ°λ₯μ μΆκ°ν κ³νμ΄ μμ΅λκΉ?