柔軟なテストのしくみ
テストスクリプト
@postman_japan
// ステータスコードが
200であることを確認
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// レスポンスが
JSONであることを確認
pm.test("Response is in JSON format", function () {
pm.response.to.be.json;
});
// レスポンスのボディが期待通りの構造と値を持っていることを確認
pm.test("Response has expected contract", function () {
const jsonData = pm.response.json();
// idフィールドが数値で値が
1であることを確認
pm.expect(jsonData).to.have.property("id", 1);
pm.expect(jsonData.id).to.be.a("number");
// nameフィールドが文字列で
"Taro"であることを確認
pm.expect(jsonData).to.have.property("name", "Taro");
pm.expect(jsonData.name).to.be.a("string");
// emailフィールドが文字列で
"
[email protected]"であることを確認
pm.expect(jsonData).to.have.property("email", "
[email protected]");
pm.expect(jsonData.email).to.be.a("string");
});
コントラクトテスト
認可テスト(ユーザーの権限確認)
// 不正なトークンを設定
// ヘッダー Authorization: 'Bearer invalidToken'
pm.test("Forbidden Check: Should return 403",
function () {
// 403 Forbidden エラーチェック
pm.expect(response.code).to.eql(403);
});
認証テスト(ユーザーの確認)
// 認証が必要なエンドポイントに対して認証トークンなしで送信
pm.test("Unauthorized Check: Should return 401",
function () {
// 401 Unauthorized エラーチェック
pm.expect(response.code).to.eql(401);
});