2014-12-05 120 views
5

與supertest,我可以測試重定向代碼302supertest:測試重定向URL

var request = require('supertest'); 
var app = require('../server').app; 

describe('test route', function(){ 
    it('return 302', function(done){ 
    request(app) 
     .get('/fail_id') 
     .expect(302, done); 
    }); 
    it('redirect to /'); 
}); 

我如何測試URL objetive重定向?

回答

4
it('redirect to /', function(done){ 
    request(app) 
     .get('/fail_id') 
     .expect('Location', /\//, done); 
    }); 
5

@ JuanPablo的答案是正確的道路(雙關語意),但它會與/之間是否匹配的任何位置。

您想通過使用行尾字符$確保/後面沒有任何內容,並且/之前的字符是您所期望的。一個快速而骯髒的例子如下:

it('redirect to /', function(done){ 
    request(app) 
    .get('/fail_id') 
    .expect('Location', /\.com\/$/, done); 
});