在 Jasmine 中设置 Basic Auth Header 以测试 NodeJS Api

Set Basic Auth Header in Jasmine for testing NodeJS Api

我目前正在为我正在构建的 API 编写测试套件,但是我不知道如何设置 Basic Auth Header 来测试某些路由。

我可以像下面这样测试正常路由:

describe('Get /', function() {
    it('returns statusCode 200', function(done) {
        request.get(base_url, function(error, response){
            expect(response.statusCode).toBe(SuccessCode)
            done()
        })

然而,许多 mu 路由需要来自基本身份验证的数据 header,我不知道如何设置它。任何帮助将不胜感激

看起来您正在使用 request 模块,所以像这样的东西应该可以工作:

describe('Get /secure/test', function() {
    it('returns statusCode 200', function(done) {

        var username = 'username';
        var password = 'password';
        var auth = 'Basic ' + new Buffer(username + ':' + password).toString('base64');

        var options = {
            url: 'https://api.com/secure/test',
            headers: {
                'Authorization': auth
            }
        };

        request.get(options, function(error, response){
            expect(response.statusCode).toBe(SuccessCode)
            done()
        })

    })
})