web-dev-qa-db-ja.com

Swaggerを使用したRESTfulAPIテストベッド

REST APIの自動テストスイートを開発しようとしています。これを行うにはSwaggerが適切なツールであると言われています。APIはSpringを使用して開発されています。フレームワーク。

Swaggerを使用してこれを行う方法がわかりません。私の理解では、SwaggerはNiceAPIドキュメントを作成するために使用されます。私は このDreamfactoryブログ投稿 を見て、ブラウザのテスト機能に何らかの機能があるように見えますが、実際にはテストスイートではないと思います。

ServiceStack(とキュウリ)も調べましたが、別のフレームワークなので、機能しないと思います。

This グーグルグループの議論も特にどこにも向けられていませんでした。

では、Swaggerを使用してRESTful APIテストベッドを開発する方法を知っている人はいますか?

ありがとう!

9
illm

Swaggerを使用すると、APIを適切に文書化でき、swagger-uiを使用して手動のライブテストを実行するのに役立ちます。これにより、引数を簡単に入力し、WebUIを介して応答を確認できます。私が言及しているものの例として、Swaggerデモを試してください。 http://petstore.swagger.io/

私はこれを試していませんが、Swagger定義に対するより自動化されたテストに役立つ可能性があります。 https://github.com/Maks3w/SwaggerAssertions

8
mmccaff

他の回答で述べたように、 Swagger は、APIエンドポイント、メソッド、応答、エラーなどを定義および文書化する方法を提供します。箱から出して、あらゆる種類の自動テストを実行しませんしません

ただし、Swagger定義を読み取りして自動テストを作成できるツールがいくつかあります。

  • Assertible は、Swagger仕様をインポートして、すべてのエンドポイントとメソッドのテストとアサーションを自動的に作成できるツールです。次に、監視、展開後のテスト、およびアラートを設定できます。 (ブログを読む Swaggerを使用したAPIのテスト )。より多くのテストのためにアップグレードするオプションを備えた無料プランがあります。
  • swagger-test は、コードと統合するものを探している場合のNPMパッケージです。私は個人的には使用していませんが、アクティブで便利に見えます。
  • Dredd は、ライブバックエンドに対するSwagger仕様のテストを自動化するもう1つの非常に優れたオープンソースツールです。これもCLIであり、 Swaggerに加えてAPIブループリント で動作します。

他にもあります。SwaggerはAPI開発者に優れた共通言語を提供するため、その上に記述された優れたツールがいくつかあります。

Swagger.ioの Commercial Tools ページをチェックするために言及された別の回答。

完全な開示-私はAssertibleの共同創設者の1人であり、使用する機会があればフィードバックをお待ちしています。

14
Cody Reichert

REST API on http://swagger.io/commercial-tools/ )の(自動)テスト用のSwagger仕様を使用して多くのソフトウェアを見つけることができます。彼らは無料ではありません。

2
shobull

Postmanは、SwaggerAPIでテストするための優れたツールです。また、要求と応答を保存することもできます。詳細は次のとおりです https://www.getpostman.com/docs/importing_swagger

このページでは、言語に応じたコミュニティツールも確認することをお勧めします。 http://swagger.io/open-source-integrations/

0
Lalit Kale

SwaggerまたはOpenAPI仕様を使用してすべてのテストロジックを生成する方法について 記事 を作成しました。次に、Excelシートを介してテストデータをフィードします。そうすれば、テストデータとテストロジックは分離されたままになり、将来、Swaggerの仕様が変更された場合でも、テストロジックをすばやく再同期できるようになります。