Sinon μ κ°μ§ μλ²λ₯Ό μ¬μ©νλ κ²μ λ
Έλ νκ²½μμ http
λ₯Ό μ¬μ©νλ Axios μ μν₯μ λ―ΈμΉμ§ μλ κ² κ°μ΅λλ€(λΈλΌμ°μ μ κ²½μ° XMLHttpRequest
).
λλ λͺ¨μΉ΄λ₯Ό μ¬μ©νκ³ μμ΅λλ€. μΉ΄λ₯΄λ§ λ¬λ κ° νμνμ§ μκΈ° λλ¬Έμ νΌνκ³ μμ΅λλ€. http
λ
Έλκ° μ§μλμ§ μλ ν κ·Έλ μ§ μμ΅λλ€.
μ¬κΈ° λ°λͺ¨κ° μμ΅λλ€. κ°λ¨ν 볡μ νκ³ npm test
.
μ€μ ν μ€νΈλ λ€μκ³Ό κ°μ΅λλ€. https://github.com/srph/axios-response-logger/blob/master/tests/spec.js
λλ μμκ° λμμ μ€λͺ ν μ μλ€κ³ κ°μ νμ§λ§ λͺ μμ μλλ°μ€ μμ±μ΄ μ΄μ¨λ μ¬λ°λ₯Έ μΌμΈμ§ νμ ν μ μμ΅λλ€. λμ€μ μ‘°μ¬ν΄μΌ ν κ²μ λλ€.
μ¬μ ν axiosμμλ μλνμ§ μλ κ² κ°μ΅λλ€.
μ μ΄κ²μ μ²μμΌλ‘ λ«μ§ μμλμ§ νμ€νμ§ μμ΅λλ€. μ΄κ²μ κ²μ¬νλ©΄ Node.jsμμ ν
μ€νΈκ° μ€νλκ³ μμμ μ μ μμ΅λλ€. XHR ꡬνμμλ _μμ°μ€λ½κ²_ μμ ν μ§μλμ§ μμ΅λλ€. μλ₯Ό λ€μ΄ mochify
λλ Karmaλ₯Ό μ¬μ©νμ¬ λΈλΌμ°μ μμ ν
μ€νΈλ₯Ό μ€ννλ€λ©΄ XHR μ€ν
μ΄ λΈλΌμ°μ νκ²½μ λμμΌλ‘ νκΈ° λλ¬Έμ λ€λ₯Έ λ¬Έμ κ° λ κ²μ
λλ€.
@brunolm : λλ μ¬μ ν μ€ν¨ν λΈλΌμ°μ μμ μ€νλλ ν
μ€νΈλ₯Ό λ³΄μ§ supertest
(SuperAgentμ©).
ꡬμ±μ μ λ¬νκ³ μμ²μ μμνλ λμ axiosμ μμ² λ©μλ λ³μΉμ μ¬μ©νμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€. μ¦, λμ
axios(config)
λλ μ¬μ©νλ€
axios[method](url, data, config)
κ·Έλμ μ§κΈ,
sandbox.stub(axios, "get").returns(Promise.resolve({status:200, body: searchResponse}));
μ΄κ²μ λΌμ΄λΈλ¬λ¦¬ moxiosλ₯Ό μ¬μ©νλ κ²λ³΄λ€ κΉ¨λν©λλ€.
κ°μ₯ μ μ©ν λκΈ
ꡬμ±μ μ λ¬νκ³ μμ²μ μμνλ λμ axiosμ μμ² λ©μλ λ³μΉμ μ¬μ©νμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€. μ¦, λμ
axios(config)
λλ μ¬μ©νλ€
axios[method](url, data, config)
κ·Έλμ μ§κΈ,
sandbox.stub(axios, "get").returns(Promise.resolve({status:200, body: searchResponse}));
μ΄κ²μ λΌμ΄λΈλ¬λ¦¬ moxiosλ₯Ό μ¬μ©νλ κ²λ³΄λ€ κΉ¨λν©λλ€.
μ€ν μ€λ²νλ‘ λ΅λ³