- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Intelligent Test Runner for CI Visibility は非公開ベータ版です。CI Visibility の概要のページにあるフォームに記入して、アクセスをリクエストすることができます。
Request AccessIntelligent Test Runner は、Datadog のテストインパクト分析ソリューションです。これにより、与えられたコミットに対して影響を与えるテストのみを実行し、無関係なテストはスキップすることができます。
関連するコードに対してのみテストを実行することで、テストが失敗した場合、それは変更されたコードに関連する正当な失敗である可能性が高くなります。
Intelligent Test Runner のベータ版では、一定の制限があります。
Intelligent Test Runner をオーバーライドしてすべてのテストを実行するには、Git のコミットメッセージのどこかに ITR:NoSkip
(大文字小文字を区別しない) を追加してください。
Intelligent Test Runner を設定する前に、特定の言語の Test Visibility の設定を完了している必要があります。
Intelligent Test Runner を有効にするには、以下の環境変数の設定が必要です。
DD_CIVISIBILITY_AGENTLESS_ENABLED=true
(必須)false
DD_API_KEY
(必須)(empty)
DD_APPLICATION_KEY
(必須)(empty)
DD_SITE
(必須)datadoghq.com
DD_CIVISIBILITY_GIT_UPLOAD_ENABLED=true
(必須)false
DD_CIVISIBILITY_ITR_ENABLED=true
(必須)false
これらの環境変数を設定した後、通常通りテストを実行します。
NODE_OPTIONS="-r dd-trace/ci/init" DD_ENV=ci DD_SERVICE=my-javascript-app DD_CIVISIBILITY_AGENTLESS_ENABLED=true DD_API_KEY=$API_KEY DD_CIVISIBILITY_GIT_UPLOAD_ENABLED=true DD_CIVISIBILITY_ITR_ENABLED=true yarn test
環境変数の設定に加えて、お客様またはお客様の組織で管理者権限を持つユーザーが、テストサービス設定ページで Intelligent Test Runner を有効にする必要があります。
Intelligent Test Runner は、以下のバージョンとテストフレームワークでのみサポートされています。
jest>=24.8.0
dd-trace>=3.4.0
以降testRunner
としてサポートされているのは jest-circus/runner
のみです。jsdom
と node
のみです。mocha>=5.2.0
dd-trace>=3.9.0
以降Intelligent test runner for Javascript は、個々のテストではなく、テストスイート (テストファイル) 全体をスキップします。
Intelligent Test Runner を有効にするには、dd-trace
ツールのバージョンが >= 2.22.0 であること (ツールのバージョンを取得するには dd-trace --version
を実行します)、および以下の環境変数が設定されている必要があります。
DD_CIVISIBILITY_AGENTLESS_ENABLED=true
(必須)false
DD_API_KEY
(必須)(empty)
DD_APPLICATION_KEY
(必須)(empty)
DD_SITE
(必須)datadoghq.com
これらの環境変数の設定後、通常通り dotnet テストや VSTest.Console.exe を使ってテストを実行します。
dd-trace ci run --dd-service=my-dotnet-app --dd-env=ci -- dotnet test
dd-trace ci run --dd-service=my-dotnet-app --dd-env=ci -- VSTest.Console.exe {test_assembly}.dll
環境変数の設定に加えて、お客様またはお客様の組織で管理者権限を持つユーザーが、テストサービス設定ページで Intelligent Test Runner を有効にする必要があります。
Intelligent Test Runner を有効にするには、dd-sdk-swift
フレームワークのバージョンが >= 2.2.0 である必要があります。また、スキームやテストプランのテスト設定で Code Coverage
オプションを有効にするか、swift test
コマンドに --enable-code-coverage
を追加しなければなりません (SPM ターゲットを使用している場合)。
また、以下の環境変数も設定する必要があります。
DD_TEST_RUNNER
$(DD_TEST_RUNNER)
に設定すると、テストプロセスの外部 (CI ビルドなど) で定義された環境変数を使用してテストインスツルメンテーションを有効または無効にできます。false
$(DD_TEST_RUNNER)
DD_API_KEY
(必須)(empty)
DD_APPLICATION_KEY
(必須)(empty)
DD_SITE
(必須)datadoghq.com
環境変数の設定に加えて、お客様またはお客様の組織で管理者権限を持つユーザーが、テストサービス設定ページで Intelligent Test Runner を有効にする必要があります。
Intelligent Test Runner は、git のメタデータ情報 (コミット履歴) を使って動作します。しかし、CI プロバイダーによっては git shallow clone (git clone --depth=0
) を使って、過去のコミット情報を一切ダウンロードせずに対象のコミットだけをダウンロードするものがあります。この設定では、Intelligent Test Runner が動作するのに十分な情報が含まれていません。CI で shallow clone を使用している場合は、それを変更する必要があります。
shallow clone に代わる効率的な方法として、partial clone (Git v2.27+ でサポート) があります。これは、現在のコミットと必要な git メタデータを複製し、すべてのファイルの過去のバージョンを取得することはありません: git clone --filter=blob:none
リポジトリのデフォルトブランチは、自動的に Intelligent Test Runner の有効化から除外されます。上記の制限により、Intelligent Test Runner は実行すべきテストの一部をスキップする可能性があるため、Datadog はデフォルトブランチ (またはリリース元のブランチ) の全てのテストの実行を継続することを推奨しています。
他に除外したいブランチがある場合、Intelligent Test Runner の設定ページから追加することができます。クエリバーは、ワイルドカード文字 *
をサポートしており、一致するブランチを除外することができます。