使用nock在mocha中使用某些请求标头模拟superagent请求

时间:2015-03-25 22:12:31

标签: javascript mocking mocha superagent nock

我有以下代码:

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模拟请求中具有某些标头的请求?

1 个答案:

答案 0 :(得分:3)

我是个白痴,通过文档阅读更多内容,我意识到我需要使用.matchHeader()