如何使用supertest发送查询字符串参数?

时间:2016-10-28 16:52:05

标签: supertest

我正在使用supertest发送获取查询字符串参数,我该怎么做?

我试过

var imsServer = supertest.agent("https://example.com");

imsServer.get("/")
  .send({
    username: username,
    password: password,
    client_id: 'Test1',
    scope: 'openid,TestID',
    response_type: 'token',
    redirect_uri: 'https://example.com/test.jsp'
  })
  .expect(200) 
  .end(function (err, res) {
    // HTTP status should be 200
    expect(res.status).to.be.equal(200);
    body = res.body;
    userId = body.userId;
    accessToken = body.access_token;
    done();
  });

但是没有将参数usernamepasswordclient_id作为查询字符串发送到端点。有没有办法使用supertest发送查询字符串参数?

1 个答案:

答案 0 :(得分:47)

虽然supertest没有详细记录,但您可以查看tests/supertest.js

您的查询字符串只有test suite

类似的东西:

request(app)
  .get('/')
  .query({ val: 'Test1' })
  .expect(200, function(err, res) {
    res.text.should.be.equal('Test1');
    done();
  });

因此:

.query({
  key1: value1,
  ...
  keyN: valueN
})

应该有用。