Agent skill

test-flutter

Flutter App のテスト実行・静的解析・フォーマット・テスト記述ガイド

Stars 572
Forks 39

Install this agent skill to your Project

npx add-skill https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/test-flutter

SKILL.md

Flutter App テスト

実行手順

以下を順番に実行し、全てパスすることを確認する。

1. 静的解析

bash
dart analyze apps/mobile

warning 以上は修正する。info レベルは必要に応じて対応。

MCP代替: mcp__dart-mcp__analyze_files でも実行可能だが、CLI推奨。

2. フォーマット

bash
dart format apps/mobile

3. ユニットテスト

bash
cd apps/mobile && flutter test

特定ファイルのみ:

bash
cd apps/mobile && flutter test test/<filename>_test.dart

MCP代替: mcp__dart-mcp__run_tests でも実行可能だが、CLI推奨。 MCP版はDTD接続不要な操作のため、CLIの方が効率的。

テスト記述規約

ファイル配置・命名

  • テストファイルは apps/mobile/test/ に配置
  • 命名: <対象の概念>_test.dart
    • ウィジェットテスト例: approval_bar_test.dart, chat_input_bar_test.dart
    • ロジックテスト例: chat_message_handler_test.dart

import

dart
import 'package:flutter_test/flutter_test.dart';
import 'package:ccpocket/...';

テスト構造

dart
void main() {
  group('対象クラスまたは機能', () {
    test('動作の説明', () {
      // ロジックテスト
      expect(actual, expected);
    });

    testWidgets('UI動作の説明', (tester) async {
      // ウィジェットテスト
      await tester.pumpWidget(MaterialApp(home: TargetWidget()));
      expect(find.text('expected'), findsOneWidget);
    });
  });
}
  • group で対象機能ごとにグルーピング
  • ロジックテストは test()、UI テストは testWidgets() を使い分ける
  • setUp() でテスト前の共通初期化を行う

テスト対象の方針

  • ウィジェットテスト: 画面の表示・インタラクション検証
    • pumpWidget でウィジェット構築 → find で要素確認 → tap/enterText で操作
  • ロジックテスト: サービス・ハンドラーの振る舞い検証
    • 純粋なDartクラスのメソッド呼び出しと結果確認
  • WebSocket通信やBridge接続のモックが必要なテストは避ける (E2E領域)

既存テストファイル一覧

  • approval_bar_test.dart — 承認バーUI
  • ask_user_question_widget_test.dart — AskUserQuestion UI
  • chat_input_bar_test.dart — チャット入力バーUI
  • chat_message_handler_test.dart — メッセージハンドラーロジック
  • gallery_screen_test.dart — ギャラリー画面
  • home_screen_test.dart — ホーム画面
  • plan_mode_test.dart — プランモードUI
  • session_card_test.dart — セッションカードUI
  • slash_command_test.dart — スラッシュコマンドUI
  • tool_result_bubble_test.dart — ツール結果表示
  • tool_use_tile_test.dart — ツール使用タイル表示

Expand your agent's capabilities with these related and highly-rated skills.

K9i-0/ccpocket

triage

GitHub Issue・PRのトリアージ。番号を渡すと、要望の要約・実現難易度・既存機能との重複チェック・対応判断を調査してレポートする。Issue/PRの番号が出てきたとき、トリアージ、優先度判断、対応判断と言われたときに使用する。

572 39
Explore
K9i-0/ccpocket

self-review

タスク完了前のセルフレビュー。Claude subagentで別コンテキストから客観的にコード変更を検証。

572 39
Explore
K9i-0/ccpocket

release-bridge

Bridge Server のリリース(バージョンbump + CHANGELOG + タグ → GH Actions で npm publish)

572 39
Explore
K9i-0/ccpocket

flutter-upgrade

Flutter SDKバージョンアップグレード対応。新バージョンのリリースノート・Breaking Changes調査、コードベース影響分析、mise/CI/Shorebird含むプロジェクト全体の対応タスクリスト作成と実行。「Flutterアップグレード」「Flutter X.Y.Zがリリースされた」「Flutter最新化」「Flutter更新」と言われたとき、またはFlutterの新バージョンについて言及されたときに使用する。

572 39
Explore
K9i-0/ccpocket

flutter-ui-design

Flutter UI実装のアーキテクチャ規約・コンポーネント分割・状態管理ガイド(Bloc/Cubit版)

572 39
Explore
K9i-0/ccpocket

test-bridge

Bridge Server (TypeScript) のテスト実行・型チェック・テスト記述ガイド

572 39
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results