私はRESTfulAPIを構築していますが、これまでのところ、リソースが必要に応じて機能することを確認するために、PostmanというRESTクライアントを使用しています。これにより、簡単に保存できます。ルートを作成し、テストのためにすばやくリクエストします。Postmanの現在のルートのコレクションは次のようになります。
APIをテストする際の問題は、この方法で、リソースIDを手動で変更する必要があることです。たとえば、投稿リソースでPUT
メソッドをテストする場合は、最初にリソースを作成し、IDを見つけてから、それをPUT
URIに貼り付ける必要があります。これは長いです!
RESTful APIを構築するための専門的な実践と見なされるものは何ですか?更新などのメソッドをテストする前に、ルートごとに単体テストを作成し、投稿を動的に作成する必要がありますか?
あらゆる種類のAPIを手動でテストすることは、特にそれを使用するUIがなければ、非常に困難です。手動テストがトリッキーまたは面倒になっていることに気づいたらすぐに、自動テストが必要であることを示しています。
最初にAPIを呼び出してデータを適切にセットアップするHTTPレベルから統合テストを作成できます。ただし、APIの下に複数のコード層がある場合は、真の単体テストを作成することをお勧めします。データサービスへの呼び出しをスタブおよびモックして、テストごとにAPIを数回呼び出す必要をなくすことができます。
REST API(以前はPythonを使用していましたが、最近はNode.JSを使用しない理由)のクライアントプログラムを開発します。実際に使用しているため、これがテストの最良の方法です。さらに、プログラムを好きなだけ起動し、testing libを使用してテストを自動化できます。これは、書くのにそれほど長くはなく、実際、興味深いソフトウェア品質ポイントを提供します。
これは単体テストではありません。これは純粋な機能テストです。期待どおりに機能することをユーザーに保証することです。
追加のポイント:同じアプローチで(APIだけでなく)よりグローバルなWebサイトをテストしたい場合は、 CasperJS を試してみることをお勧めします。