flutter_test_gen 0.0.1 copy "flutter_test_gen: ^0.0.1" to clipboard
flutter_test_gen: ^0.0.1 copied to clipboard

Automatically generate Flutter unit test templates for functions and methods.

Flutter Test Gen #

pub
package
likes
popularity

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
  • Automatically create the correct test/ folder structure
  • Append missing tests to existing test files
  • 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
  • CLI help command

Installation #

Add the package to your project:

dev_dependencies:
  flutter_test_gen: ^0.0.1

Then run:

dart pub get

Usage #

Generate tests for a Dart file:

dart run flutter_test_gen generate user_service

You can also specify a full file path:

dart run flutter_test_gen generate lib/services/user_service.dart

For convenience, the command also works without generate:

dart run flutter_test_gen user_service

CLI Commands #

Generate tests #

dart run flutter_test_gen generate <FILE_NAME>

Default behavior is append missing tests.


Append missing tests #

dart run flutter_test_gen generate <FILE_NAME> --append

Adds only tests that do not already exist.


Overwrite existing tests #

dart run flutter_test_gen generate <FILE_NAME> --overwrite

Recreates the test file completely.


Generate tests for all files #

dart run flutter_test_gen --all

Scans the lib/ directory and generates tests for all Dart files.


Show help #

dart run flutter_test_gen --help

Example #

Source file #

class UserService {
  int getAge() {
    return 30;
  }

  static int add(int a, int b) {
    return a + b;
  }
}

Generated test #

group('UserService | lib/user_service.dart', () {
  late UserService service;

  setUp(() {
    service = UserService();
  });

  test('getAge', () {
    // Arrange

    // Act
    final result = service.getAge();

    // Assert
    expect(result, isNotNull);
  });

  test('add', () {
    // Arrange

    // Act
    final result = UserService.add(1, 1);

    // Assert
    expect(result, isNotNull);
  });
});

Behavior #

The generator:

  • Creates test files inside the test/ directory
  • Groups tests by class name
  • Restores deleted tests if they are removed
  • Restores deleted groups if they are removed
  • Prevents duplicate test generation
  • Does not modify existing test structure

Requirements #

  • Dart SDK
  • Flutter project (recommended)

Project Structure #

flutter_test_gen
 ├── bin/
 │   └── flutter_test_gen.dart
 ├── lib/
 │   ├── flutter_test_gen.dart
 │   └── src/
 │       ├── generator/
 │       ├── parser/
 │       ├── models/
 │       └── utils/
 ├── example/
 ├── test/
 ├── README.md
 ├── LICENSE
 └── pubspec.yaml

Roadmap #

Planned improvements:

  • smarter test data generation
  • automatic mock generation
  • test coverage integration
  • watch mode for automatic test generation

Contributing #

Contributions are welcome.

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Open a pull request

License #

MIT License


Repository #

https://github.com/YOUR_USERNAME/flutter_test_gen


Author #

Built to make Flutter unit testing faster and easier.

3
likes
0
points
184
downloads

Publisher

unverified uploader

Weekly Downloads

Automatically generate Flutter unit test templates for functions and methods.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

analyzer, ansi_styles, yaml

More

Packages that depend on flutter_test_gen