Agent Skills › K9i-0/ccpocket › test-flutter

test-flutter

GitHub

Flutter应用测试执行、静态分析、格式化及测试编写指南。涵盖dart analyze/format命令,单元/Widget测试运行方法,以及文件命名、导入、结构和断言等规范。

.claude/skills/test-flutter/SKILL.md K9i-0/ccpocket

Trigger Scenarios

需要运行或编写Flutter单元测试时 需要对Dart代码进行静态分析或格式化时 询问Flutter测试最佳实践或目录结构时

Install

npx skills add K9i-0/ccpocket --skill test-flutter -g -y
More Options

Non-standard path

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

Use without installing

npx skills use K9i-0/ccpocket@test-flutter

指定 Agent (Claude Code)

npx skills add K9i-0/ccpocket --skill test-flutter -a claude-code -g -y

安装 repo 全部 skill

npx skills add K9i-0/ccpocket --all -g -y

预览 repo 内 skill

npx skills add K9i-0/ccpocket --list

SKILL.md

Frontmatter
{
    "name": "test-flutter",
    "description": "Flutter App のテスト実行・静的解析・フォーマット・テスト記述ガイド",
    "allowed-tools": "Bash(flutter:*), Bash(dart:*), Read, Glob, Grep"
}

Flutter App テスト

実行手順

変更した挙動に対応するテストと静的検証を選ぶ。全体テストは、共通基盤・依存関係への変更や回帰懸念がある場合、または全体検証を依頼された場合に実行する。成功済みの検証を理由なく繰り返さない。以下はコマンドの選択肢。

1. 静的解析

dart analyze apps/mobile

今回の変更で生じた warning 以上は修正する。既存の無関係な問題は報告し、info は必要に応じて対応する。

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

2. フォーマット

dart format <変更したDartファイル>

3. ユニットテスト

cd apps/mobile && flutter test

特定ファイルのみ:

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

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

テスト構造

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領域)

Version History

  • 370a4b0 Current 2026-09-22 13:40

    优化了命令执行策略,允许针对变更文件进行静态分析和格式化;移除了对全部文件的强制要求,并删除了旧版中过时的测试文件列表。

  • aa215a3 2026-07-25 06:59

Same Skill Collection

.claude/skills/codex-guide/SKILL.md
.claude/skills/flutter-ui-design/SKILL.md
.claude/skills/mobile-automation/SKILL.md
.claude/skills/playwright-cli/SKILL.md
.claude/skills/release-bridge/SKILL.md
.claude/skills/sim-preview/SKILL.md
.claude/skills/submit-store-review/SKILL.md
.claude/skills/update-store/SKILL.md
.claude/skills/web-preview/SKILL.md
.claude/skills/flutter-upgrade/SKILL.md
.claude/skills/merge/SKILL.md
.claude/skills/release-app/SKILL.md
.claude/skills/release-card/SKILL.md
.claude/skills/self-review/SKILL.md
.claude/skills/shorebird-patch/SKILL.md
.claude/skills/test-bridge/SKILL.md
.claude/skills/triage/SKILL.md

Metadata

Files
0
Version
d35d09b
Hash
539c14f7
Indexed
2026-07-25 06:59

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-28 10:43
浙ICP备14020137号-1