DEV Community

Cover image for APIテストにおすすめのホップスコッチCLI代替ツール
Akira
Akira

Posted on • Originally published at apidog.com

APIテストにおすすめのホップスコッチCLI代替ツール

Hoppscotch CLIは、APIコレクションをターミナルやCIから実行するための無料のオープンソースツールです。すでにHoppscotchのWeb版やデスクトップ版でリクエストを管理しているなら、hopp testを使うことで、そのコレクションをCIパイプラインに組み込めます。

今すぐApidogを試す

ただし、Hoppscotch CLIの役割は明確に限定されています。できることは主に「コレクションを実行し、結果を返す」ことです。API設計、モック、ドキュメント生成、APIリソースのコード管理まではカバーしません。

そのため、次のようなケースでは代替ツールの検討が現実的です。

  • JSONコレクションの実行だけでなく、設計やドキュメントも同じワークフローで扱いたい
  • CI環境でNode.js v22要件がネックになる
  • OpenAPIスペックのリンティングや品質ゲートを追加したい
  • API定義、環境、スキーマ、テストをより一元的に管理したい

Hoppscotch CLIでできること

Hoppscotch CLIは、npmパッケージ@hoppscotch/cliとして提供されています。

npm i -g @hoppscotch/cli
Enter fullscreen mode Exit fullscreen mode

注意点として、現在のHoppscotch CLIはNode.js v22以降を必要とします。Node 20に固定されたCIイメージを使っている場合は、CLI v0.26.0を使う必要があり、CI環境の管理が少し複雑になります。

基本コマンドはhopp testです。ローカルのコレクションファイルと環境ファイルを指定して実行します。

hopp test ./collection.json -e ./environment.json -d 500
Enter fullscreen mode Exit fullscreen mode

クラウドまたはセルフホスト環境のコレクションを実行する場合は、コレクションID、環境ID、トークン、サーバーURLを渡します。

hopp test <collection-id> -e <environment-id> --token <access_token> --server <server-url>
Enter fullscreen mode Exit fullscreen mode

Hoppscotch CLIは以下をサポートします。

  • プリリクエストスクリプトの実行
  • pw.test()によるテストスイート
  • pw.expect()によるアサーション
  • 失敗時の非ゼロ終了コード
  • JUnit XMLレポート出力
  • CSVを使ったデータ駆動型実行

例:

hopp test ./collection.json \
  -e ./environment.json \
  --reporter-junit ./reports/hoppscotch.xml \
  --iteration-count 10 \
  --iteration-data ./data.csv
Enter fullscreen mode Exit fullscreen mode

CIで「既存のHoppscotchコレクションを実行する」だけなら、十分に実用的なランナーです。

チームがhopp testの代替を探す理由

Hoppscotch CLIの代替を探す理由は、ツール自体の良し悪しではなく、ワークフロー上の制約にあります。

  • コレクションランナーに特化している

    API設計、モック、ドキュメントは別ツールで管理する必要があります。

  • JSONエクスポート前提になりやすい

    CLIの入力は、コレクションファイル、環境ファイル、またはクラウドIDです。CLI単体でスペック設計やリンティングは行いません。

  • Node.js v22要件がある

    多くのCIイメージではNode 18や20が標準のため、追加のバージョン管理が必要になることがあります。

  • APIリソースをコードとして管理できない

    エンドポイント、スキーマ、環境、ブランチなどをCLIから直接管理するワークフローではありません。

つまり、Hoppscotch CLIは「実行」に強いツールです。一方で、設計からテスト、ドキュメントまでを一つの流れで扱いたい場合は、別の選択肢を検討する価値があります。

1. Apidog CLI:設計からテストまで扱いたい場合

Apidogは、API設計、デバッグ、モック、ドキュメント、テストを扱うAPIプラットフォームです。Apidog CLIを使うと、テスト実行やAPIリソース管理をターミナルやCI/CDから操作できます。

テストシナリオやコレクションはapidog runで実行します。

apidog run <collection-or-scenario-id> -e <environment-id>
Enter fullscreen mode Exit fullscreen mode

データ駆動型テストでは、CSVまたはJSONデータセットを指定できます。

apidog run <collection-or-scenario-id> \
  -e <environment-id> \
  -d ./data.csv
Enter fullscreen mode Exit fullscreen mode

レポート形式も用途に応じて選択できます。

apidog run <collection-or-scenario-id> \
  -e <environment-id> \
  --reporter cli,json,html
Enter fullscreen mode Exit fullscreen mode

クラウド上にテストレポートをアップロードする場合は、--upload-reportを使います。

apidog run <collection-or-scenario-id> \
  -e <environment-id> \
  --upload-report
Enter fullscreen mode Exit fullscreen mode

Apidog CLIの特徴は、単なるテスト実行だけではありません。APIリソース、エンドポイント、スキーマ、環境、ブランチ、マージリクエストをCLIから管理できます。これにより、API定義とテストを別々のエクスポートファイルとして扱うのではなく、同じプラットフォーム上で管理できます。

ただし、Apidog CLIはスタンドアロンのOpenAPIリンターではありません。Apidogはインポート時にスペックを検証しますが、Spectralのような独立したリンティングコマンドや、splitjoinbundleのようなスペック操作コマンドは提供していません。CIでOpenAPIリンティングを主目的にするなら、後述するinsoやRedoclyのようなツールが適しています。

向いているケース

  • API設計、モック、ドキュメント、テストを1つのツールで扱いたい
  • CSV/JSONを使ったデータ駆動型テストをCIで実行したい
  • CLI、HTML、JSON、クラウドレポートを使い分けたい
  • APIリソースをコードに近い形で管理したい
  • OpenAPIをApidogに取り込んで運用したい

注意点

  • スタンドアロンのOpenAPIリンターコマンドはない
  • 単一のコレクションを実行するだけなら、機能が多すぎる場合がある

比較する場合は、以下の記事が参考になります。

2. Newman:PostmanコレクションをCIで実行する場合

Newmanは、Postmanの公式CLIコレクションランナーです。すでにPostmanでコレクションを管理しているチームなら、移行コストが低い選択肢です。

基本的な実行例です。

newman run collection.json -e env.json -r cli,json
Enter fullscreen mode Exit fullscreen mode

JUnitレポートを出力する場合は、次のように指定します。

newman run collection.json \
  -e env.json \
  -r cli,junit \
  --reporter-junit-export ./reports/newman.xml
Enter fullscreen mode Exit fullscreen mode

データファイルを使ったイテレーションも可能です。

newman run collection.json \
  -e env.json \
  -d ./data.csv
Enter fullscreen mode Exit fullscreen mode

向いているケース

  • すでにPostmanを使っている
  • PostmanコレクションをそのままCIで実行したい
  • CLI、JSON、JUnit、HTMLなどのレポーターを使いたい
  • エコシステムが大きいツールを選びたい

注意点

  • Hoppscotch CLIと同様に、基本的にはランナー
  • API設計やドキュメント管理のレイヤーは別途必要
  • Postmanコレクション形式とスクリプトモデルに依存する

Apidogとの比較は、Apidog CLI vs Newmanを参照してください。

3. inso:OpenAPIリンティングも必要な場合

insoは、KongのInsomnia向けCLIです。Hoppscotch CLIとの大きな違いは、OpenAPIスペックのリンティングに対応している点です。

リンティングはSpectral上で実行されます。CIでOpenAPIの品質ゲートを作りたい場合に有力です。

例:

inso run test "My Test Suite" --env "Staging"
inso lint spec "My API Design"
inso export spec "My API Design" --output output.yaml
Enter fullscreen mode Exit fullscreen mode

インストールはHomebrewまたはDockerを使えます。

brew install inso
Enter fullscreen mode Exit fullscreen mode

または:

docker pull kong/inso:latest
Enter fullscreen mode Exit fullscreen mode

insoは、.insomniaディレクトリまたはInsomniaのアプリデータディレクトリから設定を読み込みます。テストスイートやスペックは名前で参照します。

向いているケース

  • CIでOpenAPIスペックをリンティングしたい
  • Insomniaをすでに使っている
  • テスト実行、スペックリンティング、スペックエクスポートをCLIで行いたい
  • DockerやHomebrewで導入したい

注意点

  • リソースを名前で参照するため、名前変更に弱い場合がある
  • Insomnia 8ではクラウド/ログインアカウント必須化に関する反発や移行時の問題がありました。新規導入時はチームの運用に合うか確認が必要です。

関連比較:

4. Step CI:YAMLでAPIテストを書きたい場合

Step CIは、APIテストをYAMLで宣言的に定義するオープンソースツールです。JavaScriptスクリプトではなく、リクエストと期待値をYAMLで管理できます。

実行例:

npx stepci run workflow.yml
Enter fullscreen mode Exit fullscreen mode

テスト定義はリポジトリ内で管理しやすく、レビューもしやすい形式です。

向いているケース

  • GUIに依存せず、テストをGitで管理したい
  • YAMLで読みやすいAPIテストを書きたい
  • REST、GraphQL、gRPCをテストしたい
  • 設定をリポジトリ内に完結させたい

注意点

  • コミュニティやエコシステムは比較的小さい
  • API設計、モック、ドキュメント機能はない
  • 既存のGUIコレクションから自動生成するより、YAMLを手で書く運用になりやすい

Step CIは、UI不要で、Gitネイティブなテスト定義を重視するチームに向いています。

5. Hurl:軽量なHTTPスモークテストをしたい場合

Hurlは、プレーンテキスト形式でHTTPリクエストとアサーションを書くツールです。libcurlベースで高速に動作し、CIでのヘルスチェックやスモークテストに適しています。

例:

GET https://api.example.com/health
HTTP 200
[Asserts]
jsonpath "$.status" == "up"
Enter fullscreen mode Exit fullscreen mode

実行:

hurl --test health.hurl
Enter fullscreen mode Exit fullscreen mode

複数ファイルをまとめて実行する場合:

hurl --test tests/*.hurl
Enter fullscreen mode Exit fullscreen mode

向いているケース

  • Node.js依存なしでHTTPテストを実行したい
  • 小さなスモークテストを高速に回したい
  • .hurlファイルをPull Requestでレビューしたい
  • ドキュメントのように読めるテストを作りたい

注意点

  • 本格的なAPIテストフレームワークより低レベル
  • API設計、モック、ドキュメント機能はない
  • 複雑なデータ駆動型シナリオやチェーンには不向きな場合がある

Hurlはプラットフォームではなく、軽量なHTTPテストツールです。用途を絞ると非常に使いやすい選択肢です。

比較表

ツール ライセンス 主要な焦点 データ駆動型 スペックリンティング 設計/モック/ドキュメント レポート形式
Apidog CLI 商用(無料枠あり) フルプラットフォーム + CLIテスト あり (CSV/JSON) なし(インポート時に検証) あり CLI, HTML, JSON, クラウド
Hoppscotch CLI オープンソース コレクションランナー あり (CSVイテレーション) なし なし CLI, JUnit
Newman オープンソース Postmanランナー あり (データファイル) なし なし CLI, JSON, JUnit, HTML
inso オープンソース Insomniaランナー + リンター 限定的 あり (Spectral) 部分的(デザインドキュメント) CLI, JUnit
Step CI オープンソース YAML APIテスト あり なし なし CLI, JUnit
Hurl オープンソース プレーンテキストHTTPテスト テンプレート経由 なし なし CLI, JUnit, HTML

選び方

目的別に選ぶなら、次のようになります。

  • 設計、モック、ドキュメント、テストを1つのワークフローにまとめたい

    Apidog CLIを検討します。APIリソースとテストを同じシステムで扱えます。

  • Postmanをすでに使っている

    Newmanが最も導入しやすい選択肢です。

  • CIでOpenAPIリンティングを必須にしたい

    Spectralベースのリンティングができるinsoが候補になります。

  • テスト定義をGitで読みやすく管理したい

    YAMLならStep CI、プレーンテキストならHurlが向いています。

  • Node.js v22要件を避けたい

    Hurl、Newman、Step CI、insoを検討できます。特にHurlはNode.jsに依存しません。

Apidog CLIをCI/CDに組み込む方法は、以下も参考になります。

よくある質問

Hoppscotch CLIは無料ですか?

はい。@hoppscotch/cliはオープンソースで無料で使えます。コレクション実行、テストスクリプト実行、JUnitレポート出力に対応しています。

Node.js v22を避けたい場合、最もシンプルな代替はどれですか?

軽量さを重視するならHurlです。Node.jsに依存しない単一バイナリとして使えます。insoはHomebrewまたはDockerで導入できます。Step CIはnpxで実行できますが、現在のHoppscotch CLIのようにNode.js v22固定ではありません。

既存のHoppscotchコレクションを移行できますか?

はい。多くのツールは、エクスポートされたコレクションやOpenAPIを入力として扱えます。Apidogに移行する場合は、Hoppscotch CLIからApidog CLIへの移行を参照してください。

Apidog CLIはinsoのようにOpenAPIスペックをリンティングできますか?

いいえ。Apidogはインポート時にスペックを検証しますが、スタンドアロンのリンターコマンドはありません。CIでSpectralスタイルのルール強制が必要な場合は、Apidogとinsoを併用するか、Apidog CLI vs Redocly CLIを参照してください。

CIパイプラインに最適な代替はどれですか?

どのツールも失敗時に非ゼロ終了コードを返せるため、CIで利用できます。選定基準は次の通りです。

  • 純粋なコレクション実行:Newman
  • 軽量なHTTPチェック:Hurl
  • OpenAPIリンティング:inso
  • 設計からテストまでの統合:Apidog CLI
  • GitネイティブなYAMLテスト:Step CI

Hoppscotch CLIは、コレクションランナーとしては十分に実用的です。ただし、API設計、モック、ドキュメント、テストをつなぎ合わせずに管理したい場合は、統合プラットフォームを検討する価値があります。まずはApidog CLIの完全ガイドを確認し、Apidogをダウンロードして最初のシナリオを実行してみてください。

Top comments (0)