ASP.NET CoreでWeb APIを作ってみる -PostmanでAPIのテストをしてみる

はじめに

今回は、前回作成した検索用Web APIのテストをPostmanを使ってやってみます。

Postmanとは

PostmanはAPI開発の諸々をいい感じにしてくれるツールです。
APIのクライアントとしての機能だけでなく、ドキュメント作成の機能やテストの機能もあります。
今回はPostmanのテスト機能を使ってみます。

Postmanの設定

画面右上の歯車アイコンをクリックして、表示されたダイアログの「Add」をクリックします。
Environment Nameには任意の名前を、VARIABLEは「user」と入力し、「Add」をクリックします。
次に、Pre-request Scriptタブを開き、以下のコードを入力します。

pm.environment.set("user", "user1");

次に、Testsタブを開き、以下のコードを入力します。

pm.test("response is ok", function () {
    pm.response.to.have.status(200);
});
pm.test("has selected data", function () {
    var jsonData=pm.response.json();
    var userName=pm.environment.get("user");
    pm.expect(jsonData[0].name).to.eql(userName);
});

最後に、アドレスバーにhttps://localhost:5001/api/Users?name={{user}}と入力します。

動作確認

Sendボタンをクリックすると、Web APIを呼び出し、データの取得とテストが行われます。
取得したデータはBodyタブに表示されます。JSONには整形・シンタックスハイライトが付きます。
テスト結果はTest Resultsに表示されます。
今回は「HTTP 200が返されたか」、「指定したnameのデータが取得できているか」をテストしています。
Pre-request Scriptの内容を変更すれば、他のnameのテストもできます。
「Could not get any response」というエラーが返される場合は、自己証明書を使用していることが原因かもしれません。
その場合は、「Settings」→「General」の「SSL certificate verification」をOFFにしてください。

おわりに

ここまで、Web APIの開発からテストまでやってみました。
ASP.NET Core、Entity Framework、Postman等を使えば、少ないコードで簡単に一連の流れを行うことができることがおわかりいただけたと思います。
Postmanは非常に高機能なツールなので、API開発の際はぜひ使ってみてください。