LoginSignup
6
3

More than 3 years have passed since last update.

Swaggerで作成したWebAPIをDreddを使ってテストする

Last updated at Posted at 2019-09-08

スクリーンショット 2019-09-06 10.43.42.png
https://dredd.org/en/latest/

はじめに

以前、Swaggerを使ったAPIの自動生成を紹介しました。
今回は、WebAPIのテストツールDreddを使って、Swagger仕様書で作成したWebAPIのテストを実行してみたので紹介します。

Dreddのインストール

まずNode.jsとnpmがインストールされていることを確認します。

$ node -v
v12.1.0
$ npm -v
6.9.0

Dreddは以下コマンドでインストールできます。

$ npm install -g dredd

Dreddの実行

dredd swagger.yaml https://test.com

オプション

--reporter=apiary
このオプションをつけて実行することで、テストを実行した最後にURLが表示され、WEB上でテスト結果を確認することができます。

--user username:password
Basic認証がかかっている場合は、このオプションをつけて実行することでテストできます。

ハマったところ

業務で作成したswagger仕様書でDreddを使ったテストを試しましたが、以下でハマりました。

GETパラメータの例が無いと怒られる

・表示されたエラー
Required URI parameter 'parameterName' has no example or default value.

・解決方法
x-exampleで例を記載する

POSTのbodyが空になる

producesでcontent-typeの指定を行っていたのですが、これではPOSTのbodyが空になってしまい、テストできないようです。
・解決方法
producesconsumes

参考

HTTP APIのテストツールDreddがSwaggerに対応していたので試してみた
DreddによるローカルAPIテスト
API Blueprintで書いたAPI仕様書をDreddを使ってCircleCIでテストしてみた
swaggerを読み込み自動でAPIのテストを実行するツール:dredd

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3