mockalization_generator 2.0.0
mockalization_generator: ^2.0.0 copied to clipboard
Code generator for mockalization. Analyzes @Mockalization-annotated classes and generates extension-based mock data factories with build_runner.
mockalization_generator #
Code generator for Mockalization. This package processes @Mockalization-annotated classes and generates extension-based mock data factories.
This package should be added as a dev_dependency. It is only used during code generation and not at runtime.
Installation #
dependencies:
mockalization_factory: ^2.0.0
dev_dependencies:
build_runner: ^2.4.11
mockalization_generator: ^2.0.0
Usage #
- Annotate your class with
@Mockalization()(frommockalization_factory):
import 'package:mockalization_factory/mockalization_factory.dart';
part 'user.g.dart';
@Mockalization()
class User {
@MockProperty(format: MockFormat.email)
final String email;
final int age;
User({required this.email, required this.age});
}
- Run the generator:
dart run build_runner build --delete-conflicting-outputs
- Use the generated extension:
final user = UserMock.fake();
final users = UserMock.fakeList(10);
What Gets Generated #
For each @Mockalization class, an extension is generated:
extension UserMock on User {
static User fake() {
final faker = Faker();
return User(
email: faker.internet.email(),
age: faker.randomGenerator.integer(9999, min: 0),
);
}
static List<User> fakeList(int length) {
return List.generate(length, (_) => fake());
}
}
Features #
- Supports 20+ Dart types including primitives, collections, enums, and custom classes
- Nullable fields generate
nullor value randomly - Nested generics (
Map<String, List<int>>) fully supported - Inheritance support (parent class fields included)
- 33
MockFormatoptions for realistic data
Documentation #
See the full documentation at the GitHub repository.