# Gradle テストインサイト {#gradle-test-insights}

Tuist の Gradle プラグインは、各テストタスクの実行後にテスト結果を自動的にアップロードし、Tuist ダッシュボードでテストのパフォーマンスと不安定なテストを可視化します。

Tuist Gradle プラグインを適用すると、テストインサイトが自動的に収集されます。初期のプラグイン設定以外に追加の設定は不要です。

Tuist ダッシュボードでテストインサイトにアクセスし、時間経過に伴う変化を確認できます。

![テストインサイトを表示するダッシュボード](/images/guides/features/build-insights/tests-dashboard.png)

## 収集対象 {#what-is-tracked}

このプラグインは、すべての Gradle `Test` タスクの結果を収集します。対象には以下が含まれます。
- 個々のテストケースの合否ステータスと実行時間
- テストスイートおよびクラス構造
- 複数回の実行にわたる不安定なテストの検出

## アップロード動作の設定 {#configure-upload-behavior}

デフォルトでは:
- ローカルビルドの場合、テスト結果はバックグラウンドでアップロードされます。
- CI 実行の場合、短命なエージェントでのテレメトリ損失を防ぐため、テスト結果はフォアグラウンドでアップロードされます。

`settings.gradle.kts` 内の `tuist` ブロックで `uploadInBackground` を使用して、この動作を上書きできます。

```kotlin
tuist {
    uploadInBackground = false // always upload in the foreground
}
```

### Git ヒストリー {#git-history}

CI では、プラグインはテスト実行を報告する際に、チェックアウトのコミットヒストリーもアップロードします。対象はコミット SHA、その親コミット、コミット日時、および実行とそのプルリクエストのベースブランチが属していたブランチです。ファイルの内容、コミットメッセージ、作者情報はアップロードされません。これにより、Tuist はどのコミットがデフォルトブランチに取り込まれたか（たとえばマージキューでテストされたコミット）を把握できます。プラグインはチェックアウトが既に持っているヒストリーを読み取り、チェックアウトにベースブランチがない場合は、リモートに対して最新のコミットを問い合わせます（`git ls-remote`）。ヒストリーのフェッチは行いません。

| 変数 | 効果 |
| --- | --- |
| `TUIST_GIT_UPLOAD_ENABLED=false` | Git ヒストリーの読み取りおよびアップロードを行いません。 |
| `TUIST_GIT_UNSHALLOW_ENABLED=false` | リモートに接続せず、チェックアウトのみを読み取ります。 |
