APIの継続的テスト - Cloud

Talend Cloud API Testerユーザーガイド

Version
Cloud
Language
日本語
Product
Talend Cloud
Module
Talend API Tester
Content
ジョブデザインと開発 > Testing APIs
Last publication date
2024-03-27
継続的インテグレーション(CI)でテストを自動的に実行します。

Talend Cloud API TesterのCLI テストランナーは、ほとんどのCIソリューションと緊密に統合されているため、CIマシンにインストールされている最新のJava JDKおよびMavenだけが必要になります。

次のソリューションはTalend Cloud API Testerと互換性があります。

  • Jenkins
  • Azureパイプライン
  • AWS CodeBuildおよびCodePipeline
  • Travis CI
  • CircleCI
  • Team Foundation Server
  • Gitlab CI/CD

互換性を持つCI/CDソリューションは他にも存在することがあります。動作する別のソリューションをお使いの場合は、このページをアップデートしますのでご一報ください。

CIワークフロー

APIテストは次のフローに従う必要があります:

継続的統合ワークフローの図。

ソースからAPIをビルドし、単体テストを実行してデプロイし、最後にTalend Cloud API Testerを使用して統合テストを実行する必要があります。

技術的には、以下で説明するとおり主に2つの方法があります。CIビルドを設定する方法の詳細は、Talend Cloud API Testerの例をご覧ください。

基本的なワークフロー: メインブランチを1日1回テストする

ファイルは毎晩ソースコントロールからフェッチされ、これによって統合パイプラインがトリガーされます: ユニットテストを実行してサービス実装をパッケージ化した後、パイプラインはそれをステージング環境にデプロイします。続いて、APIが期待どおりに動作していることを検証するため、APIテストが実行されます。

固定環境でAPIのテストを選択した場合は、オンデマンドでテストを実行するか、ジョブを毎晩実行するようにスケジュールできます。このソリューションは導入が簡単で、作業を完了できますが、次の点にご注意ください:

  • 一度に実行できるテストは1つだけです。
  • テストの実行時にAPIのデータは「汚染された」状態となり、別のテストを実行する前にクリーンアップするか、同じ条件で実行しないようにする必要があります。
  • テストの実行中は、その環境にアクセスできる人なら誰でもAPIをリクエストでき、その結果、デバッグが困難になるテストの失敗が発生する可能性があります。

ステージング環境でテストしている場合は、夜間に1回実行されるCRONタスクを作成して以下の操作を実行できます。

  • APIコードとテストファイルをGitHubから取得
  • APIコードをビルドしてテスト
  • 環境にデプロイ
  • Mavenプラグインを使用してAPIテストを実行
  • テストレポートを取得

ジョブが存在する場合、オンデマンドで実行できます。

高度なワークフロー: 各コミットでAPIを確認する

ソースコントロールへのコミットごとにビルドがトリガーされます。サービス実装のデプロイには、短命のコンテナーが使われます。APIテストは、実行中のAPIに対して行われます。テストが終わると、ブランチのステータスがソースコントロールに送られます。

より高度なソリューションは、各ジョブ実行のコンテナーにAPIをデプロイすることです。これにより、以下の操作が可能になります。

  • 複数のブランチの同時テスト
  • 本番環境とは分離された環境での作業
  • すべてのコミットのテスト

コンテナーでAPIをテストする場合は、ソースのアップデートごとに実行されるタスクを作成して以下の操作を実行できます:

  • APIコードのビルドおよび単体テスト
  • コンテナーでのデプロイ
  • Talend Cloud API TesterMavenプラグインを使用してAPIテストを実行
  • テストレポートを取得