flutter-test-runner | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / flutter-test-runner

flutter-test-runner

maintained by calcitem

star 187 account_tree 27 verified_user MIT License
bolt View GitHub

name: "Flutter Test Runner" description: "Run Sanmill's Flutter test suite, including unit tests, widget tests, and integration tests; use when running tests or checking test coverage."

Flutter Test Runner

Purpose

This skill helps run and manage Sanmill's Flutter test suite, ensuring code quality and functional correctness.

Use Cases

  • Run unit and widget tests
  • Run integration tests with real AI engine
  • Generate and view test coverage reports
  • Verify functionality after code modifications
  • Validate changes in CI/CD pipelines

Test Structure Overview

src/ui/flutter_app/
├── test/                # Unit and widget tests (Dart VM, fast)
├── integration_test/    # Integration tests (real platform + AI engine)
└── test_driver/         # Test drivers

Quick Commands

Unit and Widget Tests

cd src/ui/flutter_app

# Run all tests
flutter test

# Run specific test file
flutter test test/game/position_test.dart

# Run with coverage
flutter test --coverage

Integration Tests

# From repository root - use the project script (recommended)
./run-integration-test.sh --full           # Complete test suite
./run-integration-test.sh --single         # Single test case
./run-integration-test.sh --help           # Show options

# Manual execution (from src/ui/flutter_app)
flutter test integration_test/ -d linux    # Linux
flutter test integration_test/ -d macos    # macOS
flutter test integration_test/ -d windows  # Windows

Test Types Comparison

Type Environment Native Code Speed Use For
Unit/Widget Dart VM ❌ No ⚡ Fast Pure Dart logic, UI components
Integration Real platform ✅ Yes 🐌 Slower AI behavior, platform features

Key difference: Integration tests use the real C++ AI engine and must run on actual platforms, not the Dart VM.

Coverage Reports

# Generate coverage
flutter test --coverage

# View summary (requires lcov)
lcov --summary coverage/lcov.info

# Generate HTML report
genhtml coverage/lcov.info -o coverage/html
# Then open coverage/html/index.html

Coverage targets: Overall ≥80%, Critical logic ≥90%, UI ≥70%

Common Issues & Solutions

1. MissingPluginException

  • Symptom: Tests fail with plugin errors
  • Cause: Running integration tests with flutter test test/
  • Fix: Use flutter test integration_test/ -d <platform>

2. Import Errors

  • Fix: Run flutter pub get or flutter clean && flutter pub get

3. Integration Test Failures (AI-related)

  • Cause: AI behavior may vary between runs
  • Solution:
    1. Check if AI moves are reasonable
    2. Update expected sequences in test data if needed
    3. Ensure consistent AI configuration

4. Timeout Issues

  • Increase test timeout in test configuration
  • Check async operation handling
  • Adjust maxWaitTimeMs for AI tests

Best Practices

  1. Run unit tests frequently - Fast feedback loop
  2. Run integration tests before commits - Catch platform-specific issues
  3. Check coverage for new code - Maintain quality standards
  4. Keep tests independent - Tests should not depend on each other
  5. Update expectations carefully - For AI tests, verify moves are actually correct

Reference Documentation

  • Integration tests: src/ui/flutter_app/integration_test/AUTOMATED_MOVE_TESTS_README.md
  • Flutter testing guide: https://docs.flutter.dev/testing
  • Test directories: src/ui/flutter_app/test/ and src/ui/flutter_app/integration_test/

Output Format

Test results should report:

  • ✓ Pass/fail status with counts
  • ✗ Failure details with stack traces
  • 📊 Coverage percentage (if generated)
  • ⏱ Execution time
  • 💡 Actionable recommendations

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 187
GitHub Forks 27
Created Jan 2026
Last Updated 8个月前
tools tools testing

Related Skills

test-driven-development
chevron_right
checking-visuals
chevron_right
write-test
chevron_right
test-playwright
chevron_right
test-vitest
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.