【发布时间】:2021-06-01 21:07:00
【问题描述】:
我想用 jest 手动模拟 npm 模块 unirest。我创建了一个__mocks__ 并将 unirest.js 放在那里。我已经创建了 post 方法和 headers 方法,但我不断收到此错误。我如何创建这些链式方法并获得响应。
TypeError: unirest.post(...).headers 不是函数
unirest
.post('http://mockbin.com/request')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json'})
.send({ "parameter": 23, "foo": "bar" })
.then((response) => {
console.log(response.body)
})
这是我__mocks__/unirest.js中的代码
const unirest = jest.genMockFromModule('unirest');
const result = {
data: 'theresponse'
};
const myheaders = {'Accept': 'application/json', 'Content-Type': 'application/json'};
function headers(header) {
header = myheaders;
return header;
}
console.log('inside uniREst promise mocker');
const post = opts => new Promise((resolve, reject) => {
return resolve(result);
});
unirest.post = post;
unirest.headers = headers
module.exports = unirest;
【问题讨论】:
标签: node.js npm jestjs unirest