11

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

我如何测试要重定向的 url 目标?

4

2 回答 2

12

@JuanPablo 的答案是正确的(双关语),但它将与任何位置匹配/

/您想通过使用 line-end char确保后面没有任何内容$,并且前面的字符/是您所期望的。下面是一个简单粗暴的例子:

it('redirect to /', function(done){
  request(app)
    .get('/fail_id')
    .expect('Location', /\.com\/$/, done);
});
于 2017-01-25T16:15:03.173 回答
7
  it('redirect to /', function(done){
    request(app)
      .get('/fail_id')
      .expect('Location', /\//, done);
  });
于 2014-12-05T18:41:49.917 回答