このツールについて
サンプルレスポンスをアサーションに変換するのは機械的な作業です。JSON をたどり、フィールドごとに 1 つの期待値を書き、ダッシュやドットを含むキーのアクセス構文を正しく書き、null や配列には適切なマッチャーを使います。このツールはレスポンス内のすべてのフィールドを一覧表示し(配列は長さチェック用に 1 回と、最初の要素を通じて表示)、重要なものを選ぶと、Playwright(await expect(response).toBeOK() と expect(body.user.id).toBe(42))、Postman(pm.test と pm.expect)、REST Assured(then().statusCode(200).body("user.id", equalTo(42)))、Cypress(cy.request と .its())のコードを生成します。安定したフィールドには値の完全一致を、ID やタイムスタンプのように実行ごとに変わる値には型のみのチェックを選んでください。
使い方
- サンプルの JSON レスポンスを貼り付け、メソッド、URL、期待するステータスを設定します。
- アサートするフィールドにチェックを入れます。デフォルトでは最初の 10 個が選択されます。「All」(すべて)や「None」(なし)ですばやく変更できます。
- フレームワークと、値一致か型のみのアサーションかを選び、生成されたコードをテストにコピーします。
API アサーション生成ツール のよくある質問
値の完全一致と型のみ、どちらでアサートすべきですか?
テストが制御する値や安定している値(ステータス、ロール、通貨)は完全一致でアサートします。生成される値や時刻に依存する値(ID、タイムスタンプ、トークン)は型のみのチェックにしないと、実行のたびにテストが壊れます。
REST Assured で小数が 12.5f と比較されるのはなぜですか?
REST Assured の JsonPath はデフォルトで小数を Float として返し、Hamcrest の equalTo(12.5) は Double なので Float と一致しません。プロジェクトで JsonPathConfig を設定して Double や BigDecimal を返すようにしている場合は、リテラルをそれに合わせて変更してください。
Cypress のコードに failOnStatusCode: false が付くのはなぜですか?
cy.request はデフォルトで 4xx・5xx のレスポンスでテストを失敗させます。エラーステータスを期待する場合、このオプションでリクエストを完了させ、ステータスとボディをアサートできるようにします。