supertest:测试重定向url

时间:2014-12-05 18:35:17

标签: node.js supertest

使用supertest,我可以测试重定向代码302

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 /');
});

我如何测试重定向的网址?

2 个答案:

答案 0 :(得分:7)

@ JuanPablo的答案是在正确的路径(双关语),但它会匹配任何位置/的位置。

您希望通过使用行尾char /确保$之后没有任何内容,并且/之前的字符符合您的预期。下面是一个快速而肮脏的例子:

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

答案 1 :(得分:4)

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