behat/behat
Behat is a BDD testing framework for PHP that helps you specify and verify business expectations with readable scenarios. Install via Composer and run from vendor/bin/behat to execute your feature tests and contexts.
gherkin configuration to dedicated GherkinOptions config object. The previous API for setting filters by
calling ->withFilters() on Profile is deprecated and will be removed in 4.0.
By @acoulton in #1798Extension::process() explicit in the Extension interface & document Extension dependencies.
Clarifies that extensions should declare their own dependencies on any symfony packages they interact with directly.
By @acoulton in #1795 and #1804GherkinCompatibilityMode to control how Gherkin files are parsed. The default mode behaves
identically to legacy parser behaviour. The opt-in experimental gherkin-32 mode parses equivalent to the official
cucumber/gherkin parsers. We expect to make gherkin-32 the default in the 4.0 release.
See the documentation for more details.
By @acoulton in #1799TesterOptions config object.
Extension developers can log their own runtime deprecations by calling DeprecationCollector::trigger().
By @carlos-granados in #1794gherkin-32 parsing mode by @acoulton in #1801master to 3.x and remove the dev-master composer branch alias
by @acoulton in #1708printSkippedSteps option to pretty formatter (true by default) by @carlos-granados in #1705--rerun and --rerun-only
by @carlos-granados in #1770, #1764,
#1766, and #1771file attribute on <testsuite> nodes in the JUnit formatters by @carlos-granados in #1680timer option to disable reporting execution times in the JUnit formatter by @carlos-granados in #1681error_reporting in the Behat configuration should take precedence over system defaults by @carlos-granados in #1675--convert-config by @carlos-granados in #1679stepDefinitionX names. We have provided an extension point for custom
suggestion implementations, and would consider providing an official extension. If this
affects you, please open a discussion on the Behat repository.
By @acoulton in #1633gherkin.paths.lib
and gherkin.paths.i18n are no longer defined or used. Minimum behat/gherkin version is now ^4.12.0.
By @carlos-granados in #1604.--allow-no-tests CLI option to pass even if no specifications found by @Kingdutch in #1420--convert-config CLI option to convert the yaml config to php by @carlos-granados in #1605show_output option when used with a custom formatter that does not define it by @carlos-granados in
#1587Behat\Hook\Hook and Behat\Step\Definition interfaces used internally by step definition
attributes by @carlos-granados in #1573show_output formatter option to control if/when to display stdout generated during tests
by @carlos-granados in #1576--xdebug is specified on the CLI, to improve performance by @carlos-granados in #1560<failure> nodes for all hook failures in the junit output by @carlos-granados in #1536#[Transform] attribute, equivalent to the [@Transform](https://github.com/Transform) annotation by @carlos-granados in #1545--narrative filter on the command line by @carlos-granados in #1559output_path is specified for the junit formatter by @carlos-granados in #15331.234 rather than only as integer seconds
by @uuf6429 in #1460stop_on_failure within behat.yml by @jdeniau in #1512,
#1501 and #1516--rerun all tests that should be considered failed (including undefined, when strict) by @carlos-granados in #1518Note: This release also bumps the minor version of behat/gherkin to 4.10.0, which was released on 2024-10-19 with
a behaviour-changing bugfix related to the parsing of \ characters in scenarios.
See the Behat/Gherkin CHANGELOG.
behat.dist.y[a]ml by @uuf6429 in #1464--rerun-only flag to immediately exit 0 without running anything if there were no failures on the previous run
by @Treast in #1466default if nothing was specified at runtime
by @andrewnicols in #1334--debug with recent Symfony versions ([@jawira](https://github.com/jawira))Interop\Container. Versions prior to 1.2 are not supported, but 1.2
is a non-breaking change. If you depend heavily on Interop, upgrade to
1.2, which is still supported by helper containers. Aim to migrate to
Psr before Behat 4.0 shows up on horizongenerateKey*SnippetAcceptingContext
interfacesRuntimeTransformationTransformation::getPatternStepStaterror_reporting()ThrowableTestwork\Argument componentContextFactory and RepositorySearchEngine arguments resolution into the new
Testwork component - ArgumentResolverbehat.ymlBefore*Tested is always executed before Before* hooksAfter*Setup and Before*Teardown events3.0.0rc2] - 2014-01-10
Fixed progress formatter hooks support
Reintroduced suite hooks (with an additional functionality of name filtering)
Behat tells about steps that it couldn't generate snippets for
Memory consumption optimizations
Fixed contexts inheritance
New formatter translations
Added constructor arguments and class resolving extension points to context creation routine
Simplified and cleaned Context package of the Behat
Minor public API changes across the board (simplification)
Optimized subject finding routine and cleaned extension points (SubjectLocator)
Both ExampleTested and ScenarioTested now use same method name - getScenario()
Added exception accessors to StepTestResult
Renamed ExerciseTester to Exercise
Added HookableEvent to Testwork, which extends LifecycleEvent
Made priority attribute of a tag optional
Changed all occurrences of classname to class across public API
Renamed GherkinSuite to GenericSuite and moved it into the Testwork
Added initialize call to extension lifecycle and Extension interface
Renamed some extensions config keys to be more intuitive
*SnippetsFriendlyInterface(s) that are now required to generate snippets--initSuitesLoader to SuitesRegistry to clarify purposeAfterStep hook if its BeforeStep hook failed--definitions option with suites output and regex searchtoString() methods to DefinitionInterface and TransformationInterfaceSnippetlessContextInterface to Snippet namespace - to prevent snippet generation for
custom contextsuse for PendingException to contexts during --append-snippetsbehat.ymlExtensionInterface--rerun to rerun failed scenarios)--append-to option to be able to add snippets to custom classScenarioEvent and OutlineExampleEvent now extend same BaseScenarioEvent classPendingExceptionRuntimeException namespacing errorFormatterManager::disableFormatter(s) methodoutput_path setting (issue #169)FeatureContextContext class not found exceptionbehat.extension.classes container param to extensions during their loadevent_subscriber prioritiesrequire_once instead of require in closured loadersStepEvent::getLogicalParent(). Fixed issue ### 1152.3.3 - 2012-03-09
behat features/some.feature:12-19. Thanks @headrevision)behat.yml.dist configs support out of the boxErrorException, that caused wrong exceptions on warnings and notices2.3.0 - 2012-01-19
*.yml and *.php as definition translations--[no-]colors, --[no-]multiline, etc.)--story-syntax--definitionsBEHAT_PARAMS env variable support (083092e)--append-snippets bugssnippets formatterfailed formatter-d option-d option--dry-run option--append-snippets optionfailed formatter internally2.1.2 - 2011-10-12
--snippets-paths option to show steps alongside the snippetsPendingException instead of just
Pending--out option usage critical bugoutput_path from config file1.1.1 - 2011-04-21
--rerun)behat.ymlbehat.ymlbehat.yml configurator (thanks to Symfony\Component\Config)behat.ymlbehat.yml)--strict option--no-multiline option--usage--stepsStepDefinition\Loader\PHPLoader,
Features\Loader\GherkinLoader)behat.yml inside ./config/behat.yml & Behat
will load it--i18n optionsupport/hooks.phpsteps folder doesn't existsbehat.yml and behat.xml--tags optionFull Changelog: https://github.com/Behat/Behat/compare/v3.9.0...v3.9.1
How can I help you explore Laravel packages today?