web-dev-qa-db-ja.com

スーパーテストを使用してクエリ文字列パラメーターを送信する方法は?

クエリ文字列パラメータを取得するためにスーパーテストを使用していますが、どうすればよいですか?

私は試した

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エンドポイントへのクエリ文字列として。スーパーテストを使用してクエリ文字列パラメーターを送信する方法はありますか?

16
J K

supertest は十分に文書化されていませんが、 tests/supertest.js

クエリ文字列に対してのみ テストスイート があります。

何かのようなもの:

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

したがって:

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

動作するはずです。

50
Robert T.