This relase introduces breaking changes, please refer to the :ref:`Migration from 3.x.x`.
- Strict Gherkin option is removed. (olegpidsadnyi)
- Given step is no longer a fixture. The scope parameter is also removed. (olegpidsadnyi)
- Fixture parameter is removed from the given step declaration. (olegpidsadnyi)
pytest_bdd_step_validation_error
hook is removed. (olegpidsadnyi)- Fix an error with pytest-pylint plugin #374. (toracle)
- Fix pytest-xdist 2.0 compatibility #369. (olegpidsadnyi)
- Parse multiline steps according to the gherkin specification #365.
- Drop support for pytest < 4.3.
- Fix a Python 4.0 bug.
- Fix
pytest --generate-missing
functionality being broken. - Fix problematic missing step definition from strings containing quotes.
- Implement parsing escaped pipe characters in outline parameters (Mark90) #337.
- Disable the strict Gherkin validation in the steps generation (v-buriak) #356.
- Fix regression introduced in 3.2.0 where pytest-bdd would break in presence of test items that are not functions.
- Fix Python 3.8 support
- Remove code that rewrites code. This should help with the maintenance of this project and make debugging easier.
- Allow unicode string in
@given()
step names when using python2. This makes the transition of projects from python 2 to 3 easier.
- Drop support for pytest < 3.3.2.
- Step definitions generated by
$ pytest-bdd generate
will now raiseNotImplementedError
by default. @given(...)
no longer accepts regex objects. It was deprecated long ago.- Improve project testing by treating warnings as exceptions.
pytest_bdd_step_validation_error
will now always receivestep_func_args
as defined in the signature.
- Add compatibility with pytest 4.2 (sliwinski-milosz) #288.
- Minimal supported version of pytest is now 2.9.0 as lower versions do not support bool type ini options (sliwinski-milosz) #260
- Fix RemovedInPytest4Warning warnings (sliwinski-milosz) #261.
- Fixtures pytestbdd_feature_base_dir and pytestbdd_strict_gherkin have been removed. Check the Migration of your tests from versions 2.x.x for more information (sliwinski-milosz) #255
- Fix step definitions not being found when using parsers or converters after a change in pytest (youtux) #257
- Gherkin terminal reporter expanded format (pauk-slon)
- Added support for But steps (olegpidsadnyi)
- Fixed compatibility with pytest 3.3.2 (olegpidsadnyi)
- MInimal required version of pytest is now 2.8.1 since it doesn't support earlier versions (olegpidsadnyi)
- Added --cucumber-json-expanded option for explicit selection of expanded format (mjholtkamp)
- Step names are filled in when --cucumber-json-expanded is used (mjholtkamp)
- Fix check for out section steps definitions for no strict gherkin feature
- Relay fixture results to recursive call of 'get_features' (coddingtonbear)
- Add gherkin terminal reporter (spinus + thedrow)
- Fix scenario lines containing an
@
being parsed as a tag. (The-Compiler)
- Add support for pytest 3.0
- Fix FixtureDef signature for newer pytest versions (The-Compiler)
- Better error explanation for the steps defined outside of scenarios (olegpidsadnyi)
- Add a
pytest_bdd_apply_tag
hook to customize handling of tags (The-Compiler) - Allow spaces in tag names. This can be useful when using the
pytest_bdd_apply_tag
hook with tags like@xfail: Some reason
.
- Cleaned up hooks of the plugin (olegpidsadnyi)
- Fixed report serialization (olegpidsadnyi)
- Fixed deprecation warnings with pytest 2.8 (The-Compiler)
- Fixed deprecation warnings with Python 3.5 (The-Compiler)
- Add examples data in the scenario report (bubenkoff)
- Properly parse feature description (bubenkoff)
- Avoid potentially random collection order for xdist compartibility (bubenkoff)
- Pass additional arguments to parsers (bubenkoff)
- Add validation check which prevents having multiple features in a single feature file (bubenkoff)
- Allow mixing feature example table with scenario example table (bubenkoff, olegpidsadnyi)
- Feature example table (bubenkoff, sureshvv)
- Make it possible to relax strict Gherkin scenario validation (bubenkoff)
- Fix minimal six version (bubenkoff, dustinfarris)
- Mention step type on step definition not found errors and in code generation (bubenkoff, lrowe)
- Prefix step definition fixture names to avoid name collisions (bubenkoff, lrowe)
- Make feature and scenario tags to be fully compartible with pytest markers (bubenkoff, kevinastone)
- Fixed FeatureError string representation to correctly support python3 (bubenkoff, lrowe)
- Added possibility to inject fixtures from given keywords (bubenkoff)
- Added hook before the step is executed with evaluated parameters (olegpidsadnyi)
- Correct base feature path lookup for python3 (bubenkoff)
- Allow to pass
scope
forgiven
steps (bubenkoff, sureshvv)
- Implemented scenarios shortcut to automatically bind scenarios to tests (bubenkoff)
- Parse comments only in the begining of words (santagada)
- Correctly handle pytest-bdd command called without the subcommand under python3 (bubenkoff, spinus)
- Pluggable parsers for step definitions (bubenkoff, spinus)
- Add after scenario hook, document both before and after scenario hooks (bubenkoff)
- Fix code generation steps ordering (bubenkoff)
- Fix error report serialization (olegpidsadnyi)
- Fix multiline steps in the Background section (bubenkoff, arpe)
- Code cleanup (olegpidsadnyi)
- Fix unicode issue with scenario name (bubenkoff, aohontsev)
- Fix unicode regex argumented steps issue (bubenkoff, aohontsev)
- Fix steps timings in the json reporting (bubenkoff)
- Recursion is fixed for the --generate-missing and the --feature parameters (bubenkoff)
- Better reporting of a not found scenario (bubenkoff)
- Simple test code generation implemented (bubenkoff)
- Correct timing values for cucumber json reporting (bubenkoff)
- Validation/generation helpers (bubenkoff)
- Background support added (bubenkoff)
- Fixed double collection of the conftest files if scenario decorator is used (ropez, bubenkoff)
- Added timings to the cucumber json report (bubenkoff)
- Fixed incorrect error message using e.argname instead of step.name (hvdklauw)
- Implemented cucumber tags support (bubenkoff)
- Implemented cucumber json formatter (bubenkoff, albertjan)
- Added 'trace' keyword (bubenkoff)
- Latest pytest compartibility fixes (bubenkoff)
- Bugfixes (bubenkoff)
- Implemented multiline steps (bubenkoff)
- Allow more than one parameter per step (bubenkoff)
- Allow empty example values (bubenkoff)
- Pure pytest parametrization for scenario outlines (bubenkoff)
- Argumented steps now support converters (transformations) (bubenkoff)
- scenario supports only decorator form (bubenkoff)
- Code generation refactoring and cleanup (bubenkoff)
- Implemented scenario outlines (bubenkoff)
- Fixed step arguments conflict with the fixtures having the same name (olegpidsadnyi)
- Implemented support of Gherkin "Feature:" (olegpidsadnyi)
- Implemented several hooks to allow reporting/error handling (bubenkoff)
- Fixes to unnecessary mentioning of pytest-bdd package files in py.test log with -v (bubenkoff)
- Compartibility with recent pytest (bubenkoff)
- More unicode fixes (amakhnach)
- Added unicode support for feature files. Removed buggy module replacement for scenario. (amakhnach)
- Removed unnecessary mention of pytest-bdd package files in py.test log with -v (bubenkoff)
- Step arguments in whens when there are no given arguments used. (amakhnach, bubenkoff)
- Added step arguments support. (curzona, olegpidsadnyi, bubenkoff)
- Added checking of the step type order. (markon, olegpidsadnyi)
- Added extra info into output when FeatureError exception raises. (amakhnach)
- Added parametrization to scenarios
- Coveralls.io integration
- Test coverage improvement/fixes
- Correct wrapping of step functions to preserve function docstring
- Fixed Python 3.3 support
- Fixed a bug when py.test --fixtures showed incorrect filenames for the steps.
- Fixed a bug with the reuse of the fixture by given steps being evaluated multiple times.
- Update the license file and PYPI related documentation.