APIの継続的テスト - Cloud

Talend Cloud API Testerユーザーガイド

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Talend API Tester
task
ジョブデザインと開発 > Testing APIs
継続的インテグレーション(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のテストを選択した場合は、オンデマンドでテストを実行するか、ジョブを毎晩実行するようにスケジュールできます。このソリューションは導入が簡単で、作業を完了できますが、次の点にご注意ください:

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

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

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

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

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

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

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

コンテナーでAPIをテストする場合は、ソースコントロール更新時に毎回実行されるタスクを作成して以下の操作を実行できます。

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