我有以下代码:
var request = require('superagent');
var nock = require('nock')
var scope = nock('http://localhost:80', {
reqheaders: {
'Content-Type': 'text/html'
}
});
scope.post('/api/test', {
test: 'data'
})
.reply(200, {
test: 'data2'
});
describe.only('test', function() {
it('should fail', function(done) {
request
.post('/api/test')
.set('Content-Type', 'application/json')
.send({test: 'data'})
.end(function(response) {
expect(response.body).to.deep.equal({test: 'data2'});
done();
});
});
});
现在,除非我不理解reqheaders
,否则我希望此测试失败,因为我将请求标头设置为application/json
而不是text/html
,但测试正在通过。< / p>
我想念reqheaders
的使用吗?如何使用nock模拟请求中具有某些标头的请求?
答案 0 :(得分:3)
我是个白痴,通过文档阅读更多内容,我意识到我需要使用.matchHeader()
。