web-dev-qa-db-ja.com

RESTfulAPIを構築するためのワークフロー

私はRESTfulAPIを構築していますが、これまでのところ、リソースが必要に応じて機能することを確認するために、PostmanというRESTクライアントを使用しています。これにより、簡単に保存できます。ルートを作成し、テストのためにすばやくリクエストします。Postmanの現在のルートのコレクションは次のようになります。

APIをテストする際の問題は、この方法で、リソースIDを手動で変更する必要があることです。たとえば、投稿リソースでPUTメソッドをテストする場合は、最初にリソースを作成し、IDを見つけてから、それをPUTURIに貼り付ける必要があります。これは長いです!

RESTful APIを構築するための専門的な実践と見なされるものは何ですか?更新などのメソッドをテストする前に、ルートごとに単体テストを作成し、投稿を動的に作成する必要がありますか?

3

あらゆる種類のAPIを手動でテストすることは、特にそれを使用するUIがなければ、非常に困難です。手動テストがトリッキーまたは面倒になっていることに気づいたらすぐに、自動テストが必要であることを示しています。

最初にAPIを呼び出してデータを適切にセットアップするHTTPレベルから統合テストを作成できます。ただし、APIの下に複数のコード層がある場合は、真の単体テストを作成することをお勧めします。データサービスへの呼び出しをスタブおよびモックして、テストごとにAPIを数回呼び出す必要をなくすことができます。

3
Tim

REST API(以前はPythonを使用していましたが、最近はNode.JSを使用しない理由)のクライアントプログラムを開発します。実際に使用しているため、これがテストの最良の方法です。さらに、プログラムを好きなだけ起動し、testing libを使用してテストを自動化できます。これは、書くのにそれほど長くはなく、実際、興味深いソフトウェア品質ポイントを提供します。

これは単体テストではありません。これは純粋な機能テストです。期待どおりに機能することをユーザーに保証することです。

追加のポイント:同じアプローチで(APIだけでなく)よりグローバルなWebサイトをテストしたい場合は、 CasperJS を試してみることをお勧めします。

0
AsTeR