APIの継続的テスト
継続的インテグレーション(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テストを実行
- テストレポートを取得