bdd_framework 5.0.3
bdd_framework: ^5.0.3 copied to clipboard
BDD framework for Dart/Flutter. Lets you create BDD tests in code, and gives you easy to read error messages when assertions fail. Exports to Gherkin/Cucumber feature files.
Sponsored by MyText.ai
5.0.3 #
-
Exported feature files are now always valid Gherkin (#18, #19, #20):
- A
|in a table orExamplescell is written as\|, and a line break as\n. A backslash is escaped only where Gherkin would misread it, so values likeC:\tmpor\d+are written unchanged. - A line break in a step, scenario name, feature title or user story is written as a space, instead of starting a new scenario or step.
- Each line of a multi-line
note()becomes its own#comment. - A feature title with a line break no longer makes the
.featurefile fail to be created. The console output uses the same formatting, so it changes the same way.
- A
-
In widget tests (
flutter_widget_test.dart), an error Flutter reports without throwing it, like a layout overflow whenBddFlutter.ignoreOverflowisfalse, now fails the step where it happens. Previously the BDD printedTEST PASSED!and Flutter failed the test only afterwards. The steps after it don't run, and the error is shown with its original details. An error the test takes itself withtester.takeException()doesn't fail the step. -
ctx.table(...).rowWhere(...)now shows the value it looked for in its error message, instead of the column name twice. -
BddContext,BddTableRows,BddMultipleTableValuesandBddTableValueswith the same values are now equal and have the samehashCode. -
When
FeatureFileReportercan't write a feature file, it now says which feature failed and why. -
Thanks to Andrew Friedman for the Gherkin conformance tests that found the export bugs.
5.0.2 #
FeatureFileReporter(clearAllOutputBeforeRun: true)now deletes only the.featurefiles directly insideFeatureFileReporter.dir. Previously it recursively deleted the whole directory, including any other files in it. An emptyFeatureFileReporter.dirnow means the current directory, instead of the filesystem root.
5.0.0 #
-
If you want to use Patrol, see the new bdd_framework_patrol package. Its code was contributed by Kahoulam.
-
Breaking:
.run()and.code()are now extension methods that come from a runner import:package:bdd_framework/bdd_framework.dartorflutter_test.dart(Flutter tests),flutter_widget_test.dart(widget tests with aWidgetTester), ordart_test.dart(pure Dart tests). If you importbdd_framework.dartwith ashowclause, also showFlutterTestRunandFlutterTestCode. -
Fix pure Dart BDD tests reporting success to
package:testafter a failed assertion or exception. Synchronous and asynchronous failures now fail the underlying test and return a failing test-process exit code. -
Restore custom-formatting and feature-collection regression coverage, and test execution of scenarios starting directly with When or Then.
-
New
package:bdd_framework/core.dartexposes the runner-agnostic API (no.run()extension) for runners in other packages.
4.0.7 #
- Version bump of dependencies
3.0.2 #
-
Compatible with Flutter 3.13.9 version.
-
Internal frames are not shown in the error stack-traces. This simplifies the reported stack-traces by removing lines which are not from your application code.
2.0.1 #
- Documentation, BDD tutorial and example app.
1.0.0 #
- Initial version.
