回帰テスト

回帰テストは、フロントエンドアプリやユーザーが必要とする操作の継続的な保守をサポートします。すなわち、これらの操作に対するGraphQLスキーマの変更を検証して(スキーマ統合)、GraphQL APIに破壊的な変更やリグレッションがないことを確認します。

Hasuraによる回帰テスト

本番インスタンスは、一般的に回帰テストスイートを実行できるように構成します。なぜなら、基礎となる Postgresスキーマ やHasuraの構成への変更は、望まないリグレッションをスキーマにもたらす可能性があるためです。これは、新しい機能を繰り返し使用したり、既存の機能を削除したりする際に特に重要です。

テストスイートの作成

HasuraクラウドコンソールのPro/Monitoringタブの一番下にある Regresstion Tests に移動します。フロントエンドクライアントが通常アクセスするアクションを選択します。Slackモデルでは、これまでのチュートリアルで使用したユーザーとチャネルのクエリの両方を追加します。Add to test suite をクリックします。追加が完了したら、リグレッションを検知できるか確認するため、スキーマを変更します。

スイートの作成

CLIを使ってHasura Consoleを開きます( http://localhost:9695 )。続いて、チャネルテーブルのスキーマを変更して、 name カラム名を channel_name に変更します。

Run Tests タブのテストスイートを実行すると、チャネルクエリに失敗します。

回帰テストスイートの実行

エラー( field "name" not found in type: 'channel')が出力されます。

このようなテストを行うことで、クライアントに対しての更新情報がないまま、破壊的な変更が本番環境にプッシュされることを防ぐことができます。

:他のクラウドプロジェクトからテストスイートを選択して、現在のプロジェクトをテストできます。これは、本番環境で構成されたテストスイートをスキーマ変更後のステージング環境で動作させる場合に有効です。

Did you find this page helpful?
Start with GraphQL on Hasura for Free
  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin