メインコンテンツまでスキップ

シナリオテストとレポート

単一リクエストは 1 回の呼び出ししか証明しません。シナリオテストが証明するのはワークフローです。あるレスポンスの値を後続リクエストに渡し、各ステップでアサーションを確認する順序付きリクエスト列。シナリオは、開発者の頭の中にしかなかったエンドツーエンドの流れを捉えます。

シナリオに含まれるもの​

  • 各ステップが仕様の操作を参照する順序付きステップ。
  • ステップ間のデータ受け渡し——例えば作成したリソースの id を取り、次のリクエストで使う。
  • ステータスコード、レスポンスヘッダー、レスポンスフィールドへのアサーション。
  • 実行前に読み手が提供しなければならない値。

順序とアサーションは第一級で、実行中に黙って捨てられることはありません。

シナリオを実行する​

シナリオはメインプロセスで、@powerduck/openapi-cli の runScenario エンジンを通じて実行されます。

  • scenario:run はシナリオ、仕様、リクエスト設定で実行を開始する。
  • ステップ実行に応じて進捗が scenario:event でストリームされる。
  • scenario:cancel は実行中タスクを停止する。

各ステップを観察し、フローがどこで失敗するか確認し、長い実行をキャンセルできます。

アシスタントがシナリオを組む方法​

アシスタントは仕様内にテスト定義を捏造しません。シナリオは独立したホストワークフローで、OpenAPI 文書に保存されることはありません——x-scenarios キーや埋め込みステップは存在しません。

操作の設計とそのテストの両方を求めるとき、作業は順序付けられます。

  1. アシスタントはまず操作パッチだけを提案する。
  2. あなたが適用すると、フローを実行するアクションカードを返す:
    • test.single は単一操作向け。
    • scenario.plan はホストにエンドツーエンドフローを発見させる。
    • scenario.run は順序付きフローを準備し実行する。

scenario.run カードは実行順(2〜8)で操作を列挙し、どのレスポンスフィールド、ヘッダー、状態を各後続リクエストに渡すかを含めて目標を述べます。各参照は現在の仕様から逐語的にコピーされます。

レポート​

実行後、自己完結 HTML レポートをエクスポートできます。それは生の CLI 出力ではなく要約文書で、フロー、各ステップ結果、アサーション、最終結果を読みやすいレイアウトで提示します。

エクスポート時に言語を選びます。10 言語が組み込まれています。

  1. English
  2. 简体中文(簡体字中国語)
  3. 繁體中文(繁体字中国語)
  4. 日本語(日本語)
  5. 한국어(韓国語)
  6. Français(フランス語)
  7. Deutsch(ドイツ語)
  8. Español(スペイン語)
  9. Português — Brasil(ポルトガル語-ブラジル)
  10. العربية(アラビア語)

その他/カスタムオプションで独自言語を入力できます。

レポートは安全に共有できます。

  • 認証情報は自動でマスクされ、トークンやキーが現れません。
  • 大きなペイロードは折りたたまれ、全文貼り付けでなくレポートを読みやすく保ちます。

HTML は独立しているため、チケットに添付したりリリースごとにアーカイブできます。

シナリオを使う場面​

  • 多ステップ業務フロー(作成、読み取り、更新、削除)を検証する。
  • 認証とトークン受け渡しが呼び出しをまたいで動くことを確認する。
  • リリースや引き継ぎのため API 動作の証拠を作る。
  • 契約変更後にフローを回帰確認する。

関連: リクエストワークスペース、アシスタントで設計する、モックサーバー。