Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Flutter App のテスト実行・静的解析・フォーマット・テスト記述ガイド
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -41% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -12% | 0% |
以下を順番に実行し、全てパスすることを確認する。
bashdart analyze apps/mobile
warning 以上は修正する。info レベルは必要に応じて対応。
MCP代替: mcp__dart-mcp__analyze_files でも実行可能だが、CLI推奨。
bashdart format apps/mobile
bashcd apps/mobile && flutter test
特定ファイルのみ:
bashcd apps/mobile && flutter test test/<filename>_test.dart
MCP代替: mcp__dart-mcp__run_tests でも実行可能だが、CLI推奨。 MCP版はDTD接続不要な操作のため、CLIの方が効率的。
apps/mobile/test/ に配置<対象の概念>_test.dartapproval_bar_test.dart, chat_input_bar_test.dartchat_message_handler_test.dartdartimport 'package:flutter_test/flutter_test.dart'; import 'package:ccpocket/...';
dartvoid 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 で操作approval_bar_test.dart — 承認バーUIask_user_question_widget_test.dart — AskUserQuestion UIchat_input_bar_test.dart — チャット入力バーUIchat_message_handler_test.dart — メッセージハンドラーロジックgallery_screen_test.dart — ギャラリー画面home_screen_test.dart — ホーム画面plan_mode_test.dart — プランモードUIsession_card_test.dart — セッションカードUIslash_command_test.dart — スラッシュコマンドUItool_result_bubble_test.dart — ツール結果表示tool_use_tile_test.dart — ツール使用タイル表示Other measured skills in the registry, with their headline benchmark lift.