Flutter test generator (Flutter Test Gen)
A CLI tool to automatically generate unit tests for Flutter and Dart projects.
flutter_test_gen analyzes Dart files and generates structured test
templates, helping developers quickly start writing tests without
manually creating boilerplate code.
Features
- Generate tests for classes and top-level functions
- Generate tests for all Dart files inside a directory (recursive)
- Automatically create the correct
test/folder structure - Append missing tests to existing test files (default)
- Overwrite existing tests when needed
- Restore deleted tests inside groups
- Restore deleted groups
- Prevent duplicate test generation
- Supports:
- async methods
- static methods
- Adds tags to each test
- Skips:
- private methods
- mixins
- extensions
- Clean and structured CLI output
- CLI help and debug support
Installation
Add the package using:
flutter pub add flutter_test_gen --dev
This will install the latest version from pub.dev automatically.
If your code uses dependencies, you may also need:
flutter pub add mocktail --dev
Usage
Generate for a single file
dart run flutter_test_gen user_service
Generate using full path
dart run flutter_test_gen lib/services/user_service.dart
Generate for all files in a folder
dart run flutter_test_gen lib/utils
Append missing tests
dart run flutter_test_gen <FILE_NAME> --append
Adds only tests that do not already exist.
Overwrite existing tests
dart run flutter_test_gen <FILE_NAME> --overwrite
Recreates the test file completely.
Show help
dart run flutter_test_gen --help
Example
Input
class UserService { int getAge() => 30; }
Generated test
group('UserService', () {
late UserService service;
setUp(() {
service = UserService();
});
test('getAge', () {
final result = service.getAge();
expect(result, isNotNull);
});
});
Behavior
The generator:
- Supports both files and directories
- Recursively scans folders for Dart files
- Creates test files inside the
test/directory - Groups tests by class name
- Restores deleted tests and groups
- Prevents duplicate test generation
- Does not modify existing test structure unnecessarily
Requirements
- Dart SDK
- Flutter project (recommended)
Quick Demo
Generate tests for a folder:
dart run flutter_test_gen lob/utils
Output:
📂 lib/utils
→ string_utils.dart
✓ test/utils/string_utils_test.dart
→ math_utils.dart
âš™ mocks
✓ test/utils/math_utils_test.dart
✓ 2 files processed
Contributing
Contributions are welcome.
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
License
MIT License
Repository
github.com/braglath/flutter_test_gen
Author
Built by Flutter Zone to make Flutter unit testing faster and easier.
Keywords
Flutter test generator
Dart test generator
Flutter unit test automation
Flutter testing CLI tool
Libraries
- flutter_test_gen
- Support for doing something awesome.