我有一个格式如下的文件,它使用了某些模块。
let module = require('modulename')
let r = module()
r.post(variable, callbackFunction)
r.post(variable, variable, variable, callbackFunction)
我正在尝试使用 proxyquire 模拟这两个函数,如下所示
let module= function(){
return {
post: (variable, callback) => {
//some codes
return callback(error, res)},
post: (variable,variable,variable, callback) => {
//somecode
return callback(error, res)}
}}
let mock = proxyquire(filepath,{'modulename':module})
由于它包含两个具有相同名称的函数,因此我无法模拟这两个 post 函数,因为函数调用仅转到一个函数(第二个函数)。如何解决这个问题?有人知道吗?我对单元测试和代理查询相当陌生