本セッションでは認証認可サーバー開発をユースケースに、クライアントサーバー間の複雑なリクエスト/レスポンスを再現するモックを実装し統合テストを自動化する、CI/CD実現に向けた取り組みを共有します。
クラウドネイティブな開発プロセスではテストを自動化し、CI/CDパイプラインへ組み込むことが重要です。中でも統合テストでは外部接続を検証するためにモックサーバーを使用するケースがありますが、一般的なオープンソースのモックサーバーはリクエストを受けてレスポンスを返す用途が中心で、モック自身がリクエストを送信するケースは少なく、認証認可のようにサーバー間で複数回の通信が発生するシナリオを十分に再現できないことがあります。
そこで、SpringBootを用いてステートフルな通信を再現し、テスト可能なモックを実装。テストシナリオはOpenAPIライクなYAML形式で定義し、生成AIを活用した高速なテストコード作成とも親和性の高い仕組みを実現しました。
デモンストレーションとして生成AIを用いたテストコード作成から、Dockerでの環境構築とテスト実施まで紹介します。
株式会社日立製作所
企画員
He is a Specialist at Hitachi, Ltd. and involved in consultation of Keycloak.
He joined as a new graduate in 2024, currently he is contributing to the Keycloak community by sending several PRs.