mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-18 23:03:06 +08:00
Translate everything-claude-code repository to Japanese including: - 17 root documentation files - 60 agent documentation files - 80 command documentation files - 99 rule files across 18 language directories (common, angular, arkts, cpp, csharp, dart, fsharp, golang, java, kotlin, perl, php, python, ruby, rust, swift, typescript, web) - 199 skill documentation files Total: 455 files translated to Japanese with: - Consistent terminology glossary applied throughout - YAML field names preserved in English (name, description, etc.) - Code blocks and examples untouched (comments translated) - Markdown structure and relative links preserved - Professional translation maintaining technical accuracy This translation expands ECC accessibility to Japanese-speaking developers and teams. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
145 lines
4.7 KiB
Markdown
145 lines
4.7 KiB
Markdown
---
|
|
description: Flutter/Dartテストを実行し、失敗を報告し、テスト問題をインクリメンタルに修正します。ユニット、ウィジェット、ゴールデン、統合テストをカバーします。
|
|
---
|
|
|
|
# Flutterテスト
|
|
|
|
このコマンドはFlutterテストスイートを実行し、結果を報告します。失敗が発生した場合、問題を診断しインクリメンタルに修正します。
|
|
|
|
## このコマンドの動作
|
|
|
|
1. **テスト実行**: `flutter test`を実行(または変更されたファイルにスコープを限定)
|
|
2. **失敗を解析**: タイプと原因別に失敗するテストを特定
|
|
3. **インクリメンタルに修正**: 可能な場合は一度に1つの失敗
|
|
4. **検証**: 各修正後に再実行
|
|
5. **報告**: カバレッジサマリーと残りの失敗を表示
|
|
|
|
## 使用するタイミング
|
|
|
|
`/flutter-test`を使用するのは:
|
|
- 機能を実装した後に何も壊れていないことを確認するため
|
|
- `/flutter-build`実行後にテストが通ることを確認するため
|
|
- 新しいコードのテストカバレッジを確認するため
|
|
- 特定のテストファイルが失敗している時
|
|
- PRを提出する前
|
|
|
|
## 実行されるコマンド
|
|
|
|
```bash
|
|
# すべてのテストを実行
|
|
flutter test 2>&1
|
|
|
|
# カバレッジ付きで実行
|
|
flutter test --coverage 2>&1
|
|
|
|
# 特定のテストファイルを実行
|
|
flutter test test/unit/domain/usecases/get_user_test.dart 2>&1
|
|
|
|
# 名前パターンに一致するテストを実行
|
|
flutter test --name "CartBloc" 2>&1
|
|
|
|
# 統合テストを実行(デバイス/エミュレーターが必要)
|
|
flutter test integration_test/ 2>&1
|
|
|
|
# 意図的なビジュアル変更時にゴールデンファイルを更新
|
|
flutter test --update-goldens 2>&1
|
|
```
|
|
|
|
## セッション例
|
|
|
|
````text
|
|
User: /flutter-test
|
|
|
|
Agent:
|
|
# Flutterテスト実行
|
|
|
|
## テスト実行
|
|
|
|
```
|
|
$ flutter test
|
|
00:05 +42 -2: Some tests failed.
|
|
|
|
FAILED: test/unit/data/user_repository_test.dart
|
|
UserRepository getById
|
|
returns null when user not found
|
|
Expected: null
|
|
Actual: User(id: 'test-id', name: 'Test User')
|
|
|
|
FAILED: test/widget/cart_page_test.dart
|
|
CartPage
|
|
shows empty state when cart is empty
|
|
Expected: exactly one widget with text 'Your cart is empty'
|
|
Found: no widget with text 'Your cart is empty'
|
|
```
|
|
|
|
## 修正 1: リポジトリテスト
|
|
|
|
File: test/unit/data/user_repository_test.dart
|
|
失敗: `getById`が欠落IDに対してnullを返すべきところでユーザーを返す
|
|
|
|
根本原因: テストセットアップがID 'test-id' のユーザーを追加するが、'missing-id' でクエリしている。
|
|
修正: 'missing-id' でクエリするようテストを更新 — セットアップは正しく、クエリが間違っていた。
|
|
|
|
```
|
|
$ flutter test test/unit/data/user_repository_test.dart
|
|
1 test passed.
|
|
```
|
|
|
|
## 修正 2: ウィジェットテスト
|
|
|
|
File: test/widget/cart_page_test.dart
|
|
失敗: 空状態のテキストウィジェットが見つからない
|
|
|
|
根本原因: 空状態メッセージがウィジェット内で 'Your cart is empty' から 'Cart is empty' に変更されていた。
|
|
修正: 現在のウィジェットのコピーに合わせてテスト文字列を更新。
|
|
|
|
```
|
|
$ flutter test test/widget/cart_page_test.dart
|
|
1 test passed.
|
|
```
|
|
|
|
## 最終実行
|
|
|
|
```
|
|
$ flutter test --coverage
|
|
All 44 tests passed.
|
|
Coverage: 84.2% (target: 80%)
|
|
```
|
|
|
|
## サマリー
|
|
|
|
| メトリクス | 値 |
|
|
|-----------|-----|
|
|
| 総テスト数 | 44 |
|
|
| 成功 | 44 |
|
|
| 失敗 | 0 |
|
|
| カバレッジ | 84.2% |
|
|
|
|
テストステータス: PASS ✓
|
|
````
|
|
|
|
## 一般的なテスト失敗
|
|
|
|
| 失敗 | 典型的な修正 |
|
|
|------|-------------|
|
|
| `Expected: <X> Actual: <Y>` | アサーションを更新するか実装を修正 |
|
|
| `Widget not found` | ファインダーセレクタを修正するかウィジェット名変更後にテストを更新 |
|
|
| `Golden file not found` | `flutter test --update-goldens`を実行して生成 |
|
|
| `Golden mismatch` | 差分を検査し、変更が意図的なら`--update-goldens`を実行 |
|
|
| `MissingPluginException` | テストセットアップでプラットフォームチャネルをモック |
|
|
| `LateInitializationError` | `setUp()`で`late`フィールドを初期化 |
|
|
| `pumpAndSettle timed out` | 明示的な`pump(Duration)`コールに置き換え |
|
|
|
|
## 関連コマンド
|
|
|
|
- `/flutter-build` — テスト実行前にビルドエラーを修正
|
|
- `/flutter-review` — テスト通過後にコードをレビュー
|
|
- `tdd-workflow`スキル — テスト駆動開発ワークフロー
|
|
|
|
## 関連
|
|
|
|
- エージェント: `agents/flutter-reviewer.md`
|
|
- エージェント: `agents/dart-build-resolver.md`
|
|
- スキル: `skills/flutter-dart-code-review/`
|
|
- ルール: `rules/dart/testing.md`
|