bdd_flutter 1.1.1
bdd_flutter: ^1.1.1 copied to clipboard
A Flutter package for Behavior-Driven Development (BDD) testing.
1.1.1 #
Features #
dart run bdd_flutter testnow runs all test files (BDD and regular), not just.bdd_test.dart- Separate report sections: BDD Test Report (grouped by Feature/Scenario) and Non-BDD Test Report (grouped by test file and group name with indentation)
- Combined summary at the bottom with total pass/fail counts
Tests #
- Add integration tests for
BDDControllerincremental build (rename, remove, modify, delete, force, append scenarios)
1.1.0 #
Bug Fixes #
- Fix class name generation for names starting with digits (e.g.,
"123 login"→X123LoginScenario) - Fix class name generation for names with special characters (hyphens, punctuation now stripped)
- Fix method name generation for steps starting with digits (leading digits stripped)
- Fix
snakeCaseToCamelCasecrash on leading/trailing underscores - Return safe fallback names (
Unnamed,unnamed,step) instead of empty strings for edge cases - Fix Background class name not sanitized — feature names with spaces/hyphens (e.g.,
"Form auto-save") produced invalid Dart class names - Fix incremental build skipping regeneration when generated files are deleted but manifest entry still exists
- Fix incremental build appending instead of regenerating when scenarios are removed, renamed, or modified — caused broken test files referencing non-existent classes
Tests #
- Add comprehensive unit tests for
StringXextensions (PascalCase, snakeCaseToCamelCase, toSnakeCase) - Add unit tests for
Step.methodNameedge cases (digits, special chars, empty text, params) - Add unit tests for
Scenarioclass name generation, decorator resolution, and hash consistency - Add unit tests for
Decoratorparsing and set helpers
1.0.0 #
BREAKING CHANGES #
- Removed
build_runnerdependency entirely — usedart run bdd_flutter buildinstead - Removed
--no-widget-testand--new-onlyCLI flags - Configuration moved from
build.yamlto.bdd_flutter/config.yaml - Generated file extensions changed from
.bdd_scenarios.g.dartto.bdd_scenarios.dartand.bdd_test.g.dartto.bdd_test.dart
Features #
- New standalone CLI:
dart run bdd_flutter buildanddart run bdd_flutter test - Incremental test generation with manifest tracking (only regenerates changed scenarios)
--forceflag to regenerate all filestestcommand with formatted Feature/Scenario report output- Custom test directory via
test_dirconfig option - Custom scenario class suffix via
scenario_suffixconfig option (e.g.,Stepsinstead ofScenario) - Additional imports support via
additional_importsconfig option - Background steps support
@unitTest/@widgetTestdecorators at feature and scenario level- Scenario-level Examples tables for parameterized tests
Improvements #
- Clean Architecture restructure (domain, infrastructure, presentation layers)
- Instance-based scenario classes (supports
latefields for shared state) - Comprehensive documentation across all layers
0.3.0 #
- remove
build_runnerdependency - add custom CLI
dart run bdd remaneto remove.gfrom generated files extensiondart run bdd buildto generate files from feature files
0.2.0 #
- change output files extension to
.bdd_scenarios.g.dartand.bdd_test.g.dart - add
ignore_featuresoption tobuild.yaml - fix example
- fix import file name
- update readme
0.1.5 #
- fix import file name
0.1.4 #
- fix builder with examples
- add ignore decorator on feature
0.1.3 #
- fix builder issue with examples
- restructure code
0.1.2 #
- add
@disableReporterand@enableReporterdecorators - fix build_runner error
- improve documentation
- change log to stdout
- update readme
0.1.1 #
- add
@classNamedecorator - fix build_runner error
0.1.0 #
- refactor to use factory pattern
- improve code readability
- improve documentation
0.0.1 #
- Initial release