我正在尝试从我的test.js发出以下帖子请求,但是我正在尝试从2小时开始等待我的测试成功但是它没有成功。
请用nock找到以下代码。
beforeEach(() => {
var payload = {
channel: 'Cricket',
codes: 'c--HOjyWVww:APA'
};
scope = nock('http://localhost:3000')
.post('/channel/subscribe', payload)
.reply(200, { status: 200 });
});
request.post('http://localhost:3000/channel/subscribe', function(err, body) {
console.log(err, null);
});
it('Subscribing to channel', function(done) {
request.post({
url: 'http://localhost:3000/channel/subscribe',
headers: {
'accept': 'application/json',
'content-Type': 'application/x-www-form-urlencoded'
},
mode: 'no-cors',
body: JSON.stringify({
channel: "Cricket",
codes: "c--HOjyWVww:APA"
})
}, function(err, response) {
console.log(request.payload);
console.log("+response status code:", response.statusCode);
console.log(response.failureCount);
if (err) {
throw err; // => Error: Nock: No match for request POST http://foobar.com/ {"foo":"biz"}
}
done();
})
答案 0 :(得分:-1)
您是否在应用程序中设置了bodyParser? 像:
app.use(bParser.json());
在你自己的情况下应该是:
app.use(bodyParser.urlencoded());
app.use(bodyParser.json());