superagentモジュールでAPI Gatewayのテストをする

superagentモジュールでAPI Gatewayのテストをする

API Gatewayのテストをする時にPOSTMANやVSCodeのRest Clientプラグインなどがありますが、mochaからsuperagentモジュールを使ってAPIを叩いて、その結果を確認することができます。

プロキシ設定が必要な場合はsuperagent-proxyモジュールも使用します。

const superagent = require('superagent')
require('superagent-proxy')(superagent)
const proxy = process.env.http_proxy || 'http://プロキシ.co.jp:8080/'
describe('test', () => {
it('APIのテスト', async () => {
superagent
.post(
'https://api.example.com/companys/12/employId/1' // API URL
)
.proxy(proxy)
.send({ // リクエストボディ部
body: 'body'
})
.set('accept', 'json') // ヘッダ部
.end((err, res) => { // callback
assert.deepEqual(res.body, {
name: 'takahashi',
age: 22
})
})
})

view raw
gistfile1.txt
hosted with ❤ by GitHub

このテストと似たようなことがVSCodeのRest Clientでも可能です。

Promise化

Promise化したい場合は、endメソッドを省略してawaitするだけです。

superagentはasync/awaitをサポートしています。

https://visionmedia.github.io/superagent/#promise-and-generator-support

timeout

superagentでAPIを叩いたときにtimeoutメソッドでタイムアウトを設定します。

index.js

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA