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 | |
}) | |
}) | |
}) |
このテストと似たようなことがVSCodeのRest Clientでも可能です。
Promise化したい
Promise化したい場合は、endメソッドを省略してawaitするだけです。
async function getA() { | |
const ret = await superagent | |
.post( | |
'https://confrage-webhooktest.free.beeceptor.com/test' | |
) | |
.send({ | |
body: 'body' | |
}) | |
.set('Content-Type', 'application/json') | |
console.log(ret) | |
} | |
getA() |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^