我试图在Express路由模块中模拟axios来测试模块如何处理特定的响应。我正在尝试使用proxyquire
来模拟axios:
const proxyquire = require('proxyquire')
route = proxyquire.noCallThru().load('../../routes/google.js', {
'axios': {
get: function (url){
console.log("called get")
}
}
})
describe('my module', () => {
it('calls the axios mock', (done) => {
route(done)
})
})
在我的模块中
const axios = require('axios');
module.exports = function(done){
axios.get('https://www.googleapis.com/plus/v1/people/me').catch(function(error){
console.error(error)
done()
}
})
我希望看到"叫做get"在控制台中,调用代理时。我得到www.googleapis.com的回复,因为正在提出真实的请求。