Commit Graph

160 Commits

Author SHA1 Message Date
Oleg Pidsadnyi c6b7134e59 Revert "Allows use <params> in parsers defined steps"
This reverts commit 7850f218b7.
2021-08-18 09:23:31 +02:00
Konstantin Goloveshko 7850f218b7 Allows use <params> in parsers defined steps
So parsers could parse values defined in Examples
2021-08-17 20:59:14 +02:00
Alessio Bogon 775b6dc630 Update pre-commit hooks' version and apply them to all the files. 2021-07-03 10:16:33 +02:00
Alessio Bogon 635dd3f679 Remove compatibility code for ancient versions of pytest 2021-04-28 12:33:22 +02:00
Alessio Bogon c197799e02 Simplify code 2021-04-28 12:06:27 +02:00
Alessio Bogon cdb1bdada9
Add `pyupgrade` tool to pre-commit hooks (#416)
* `pyupgrade --py36-plus tests/**/*.py pytest_bdd/**/*.py setup.py`

* add pyupgrade to pre-commit config
2021-04-16 09:35:49 +02:00
Konstantin Goloveshko e1dc0cad9a Update python and pytest
- Drop support of python 2.7, 3.5; Add explicit support for python >=3.6
- Remove six dependency
- Simplify getting step parser strategy; If step could be stringified it could be used
- Respect pytest --strict option in tests
2021-03-02 19:08:00 +02:00
Alessio Bogon 02e667f239
Move Feature, Scenario, Step classes into the parser module (#388)
* Move the parsing logic to its own module

* Remove Feature.get_feature classmethod, in favour of the get_feature function on the feature module
2020-09-15 11:18:57 +02:00
Alessio Bogon 853c615748
Support for pytest 6 "--import-mode=importlib" (#384)
* Fix compatibility with pytest 6 "--import-mode=importlib"

* Rewrite `scenario` and `scenarios` tests so that we can easily parametrize with the different pytest --import-mode.

* Update changelog
2020-09-07 09:43:29 +02:00
Alessio Bogon fc9adba38b Blackify code 2020-09-05 20:17:25 +02:00
Oleg Pidsadnyi 8008c0f4bc
Given step is no longer a fixture (#376)
* Removing strict gherkin.
* Update README.rst
* Update CHANGELOG
2020-07-01 11:57:00 +02:00
Mark Moes 34b7f96b77 Escape quote in generation (#327)
* Escape single quotes in generated test names

* Escape single, double, triple-single and triple-double quoted (doc)strings in generated code
2019-10-20 18:53:29 +02:00
Alessio Bogon 6047a35ef1 Apply `black` formatter to the codebase 2019-08-27 17:54:58 +02:00
Alessio Bogon 2226128936
Remove code that rewrites code (#309)
* Stop testing for old pytest and python versions

* Switch from pytest-pep8 to pycodestyle.

Pytest-pep8 received the last update in 2014, and it is now not working with pytest >= 4.5

* Explicitly state used markers

* Remove supposedly useless test

* Fix pytest missing markers definitions

* Fix pytest missing markers definitions

* Fix wrong command line usage

* Remove compatibility with ancient pytest

* Be more lenient when checking for failed test string

* Remove dead code
2019-08-20 10:49:20 +02:00
Alessio Bogon 744e855e01 Pass all the required arguments to hooks 2019-02-19 13:59:09 +01:00
Alessio Bogon ee05a101e9 drop compatibility with pytest < 3.0.0 2019-02-18 10:26:14 +01:00
Milosz Sliwinski 216beadbcc Fixes #276: Added config stack to keep tests separation. Removed usage of deprecated pytest.config global variable 2019-02-11 09:51:40 +01:00
Milosz Sliwinski 7671290ad0 bdd_feature_base_dir renamed into bdd_features_base_dir 2018-10-18 10:59:28 +02:00
Milosz Sliwinski ed45c5e9fc Revert fix for getting the parser as it has been moved to separate pull request 2018-10-18 10:59:28 +02:00
Milosz Sliwinski 46644c390c Add feature_base_dir and strict_gherkin params to scenario and scenarios 2018-10-18 10:59:28 +02:00
Milosz Sliwinski 92a7e59675 Fix getting the parser from the lazy step function on latest pytest 2018-10-18 10:59:28 +02:00
Milosz Sliwinski 6ce9c0c510 Do not call fixtures directly. bdd_feature_base_dir and bdd_strict_gherkin ini configs added. Pytest-bdd fixtures removed 2018-10-18 10:59:28 +02:00
Anthony Sottile ce63d93152 Fix invalid escape sequences 2018-06-30 08:35:52 -07:00
Florian Bruhin 27553d8222 Make fixture code pytest 3.0 compatible 2016-08-05 13:32:40 +02:00
Oleg Pidsadnyi 544c81f59e Fixing latest pytest compatibility 2016-07-21 22:05:16 +02:00
Florian Bruhin c53f7a7519 Add pytest_bdd_apply_tag hook 2016-06-21 18:27:02 +02:00
Florian Bruhin 7d8bb2ffa1 Use inspect.signature() if it's available.
Fixes #153.
2015-11-17 21:49:35 +01:00
Anatoly Bubenkov 73da0347b0 Avoid potentially random collection order for xdist compartibility. closes #138 2015-08-04 17:05:12 +02:00
Anatoly Bubenkov 8197f6704d Avoid potentially random collection order for xdist compartibility 2015-08-04 15:43:50 +02:00
Anatoly Bubenkov 831d2122dc increase test coverage 2015-06-24 01:17:34 +02:00
Anatoly Bubenkov 24522b8fdc Allow mixing feature example table with scenario example table 2015-06-23 23:10:13 +02:00
Anatoly Bubenkov 8af2e0f0e0 feature outline 2015-06-21 00:30:46 +02:00
Anatoly Bubenkov 2b96f61268 respect strict_gherkin also for scenarios shortcut 2015-06-20 23:55:27 +02:00
Anatoly Bubenkov a7272beea2 Make it possible to relax strict Gherkin scenario validation. closes #118. closes #119 2015-06-15 23:58:45 +02:00
Anatoly Bubenkov 954180716c Mention step type on step definition not found errors and in code generation. closes #125 2015-06-10 10:03:17 +02:00
Laurence Rowe 5bdb0a4b97 Prefix step definition fixture names to avoid name collisions 2015-06-07 23:04:12 +02:00
Anatoly Bubenkov 27d8e1c382 step fixture injection 2015-05-24 10:17:17 +02:00
Oleg Pidsadnyi 97de1158fd Added hook before the step is executed with evaluated parameters 2015-05-18 13:24:02 +02:00
Anatoly Bubenkov 34c5823a3e Correct base feature path lookup for python3 2015-04-09 18:18:00 +02:00
Anatoly Bubenkov 29f2c1cbe4 Implemented shortcut to automatically bind scenarios to tests. closes #103, #89, #92, #90 2015-03-18 23:51:37 +01:00
Anatoly Bubenkov d1fa804426 Pluggable parsers for step definitions. closes #91 2015-01-07 16:26:20 +01:00
Anatoly Bubenkov 9e2d1d6231 Add after scenario hook, document both before and after scenario hooks. closes #87 2014-12-28 11:52:41 +01:00
Oleg Pidsadnyi 440d669d1c Fix for python26 2014-11-09 13:59:27 +01:00
Oleg Pidsadnyi 7fcd7e2eba Refactor of the feature step, reporting and fix for the multiline background steps. 2014-11-09 12:56:50 +01:00
Anatoly Bubenkov 455c81aed0 Fix unicode issue with scenario name 2014-10-22 11:19:43 +00:00
Anatoly Bubenkov 002c517093 Fix unicode regex argumented steps issue, reimplements #75 2014-10-21 16:08:42 +00:00
Anatoly Bubenkov c6dc04386f Validation/generation helpers 2014-09-22 23:31:33 +00:00
Anatoly Bubenkov 47694d0299 BDD tests validation/generation helpers 2014-09-22 06:27:33 +00:00
Anatoly Bubenkov 5433bfeb61 Correct timing values for cucumber json reporting 2014-09-20 00:18:19 +00:00
Anatoly Bubenkov 771f263ec6 Better reporting of a not found scenario 2014-09-18 18:32:50 +00:00
Oleg Pidsadnyi 388ed6183c Merge pull request #65 from bubenkoff/fix-double-collection
Fixed double collection of the conftest files if scenario decorator is used
2014-09-15 09:53:45 +02:00
Anatoly Bubenkov 008dcee6b6 Fixed double collection of the conftest files if scenario decorator is used 2014-09-14 21:36:23 +00:00
Oleg Pidsadnyi 1748de1fe7 version bumped 2014-09-11 22:06:54 +02:00
Harro van der Klauw 332b88cb59 Fixed incorrect error message using e.argname instead of step.name 2014-08-21 17:24:31 +02:00
Anatoly Bubenkov 7fcfb20f33 implemented cucumber tags 2014-07-27 13:31:38 +00:00
Anatoly Bubenkov 44be5f426a merge with master 2014-07-24 18:14:14 +02:00
Anatoly Bubenkov b17234846e latest pytest compartibility issues 2014-07-24 18:06:10 +02:00
Anatoly Bubenkov 3d37863355 store base dir and filename separately 2014-05-11 16:29:27 +02:00
Anatoly Bubenkov 9f6ce33079 add scenario 2014-05-11 13:29:14 +02:00
Anatoly Bubenkov 3370bcf714 more complex parsing of the multiline steps 2014-04-01 01:58:50 +02:00
Anatoly Bubenkov 482482b059 code cleanup. vertical example table implemented 2014-03-15 01:05:21 +01:00
Anatoly Bubenkov c0ae33a241 move to single decorator 2014-03-14 14:15:04 +01:00
Anatoly Bubenkov c5237a217e move to single decorator approach 2014-03-14 13:20:43 +01:00
Anatoly Bubenkov e3e4cb6ad2 Scenario outline implementation based on pure pytest parametrization 2014-03-13 18:33:53 +01:00
Anatoly Bubenkov d3928c7e4d scenario outlines implemented 2014-03-10 23:03:11 +01:00
Oleg Pidsadnyi 92a9377cec Fixed step arguments conflict with the fixtures having the same name 2014-02-19 12:48:14 +01:00
Anatoly Bubenkov c3121c82c8 fixes for step hooks 2013-12-13 04:27:25 +01:00
Anatoly Bubenkov 6eccae04e9 Merge branch 'hooks-initial-implementation'
Conflicts:
	CHANGES.rst
	setup.py
	tests/feature/test_steps.py
2013-12-11 10:22:25 +01:00
Anatoly Bubenkov 382616b150 Merge branch 'master' into hide-scenario-overtrace 2013-12-11 04:07:51 +01:00
Anatoly Bubenkov 011409b029 hide scenario module in pytest verbose mode 2013-12-11 03:43:58 +01:00
Anatoly Bubenkov 2bf66bdae0 fixes for latest pytest 2013-12-11 00:32:10 +01:00
Anatoly Bubenkov 652ab40fbe remove unnecessary hooks. add documentation 2013-12-11 00:01:42 +01:00
Anatoly Bubenkov c85094c1ab hooks initial implementation 2013-12-06 04:19:10 +01:00
Andrey Makhnach 2e3357aa9d extra fix for encoding 2013-11-10 11:24:19 +01:00
Andrey Makhnach b168cb1a80 removed copy-paste mistake from comment 2013-11-07 11:45:24 +01:00
Andrey Makhnach 94b02a613c small fix. removed encoding from argument because we have general decoding for whole file 2013-11-07 11:02:14 +01:00
Andrey Makhnach 4ea7b8c9a7 small fix 2013-11-07 10:45:12 +01:00
Andrey Makhnach 45ded7e4da Added encoding. 2013-11-07 10:30:52 +01:00
Anatoly Bubenkov 38313564d9 replace scenario current module correctly to avoid mess in pytest log with -v 2013-10-31 15:20:54 +01:00
Anatoly Bubenkov d9b10a7f79 arguments in when steps when no arguments in givens bug 2013-09-27 13:38:37 +02:00
Oleg Pidsadnyi 061b36e312 step class added 2013-09-22 14:34:38 +02:00
Oleg Pidsadnyi f6837b948c wrong order tests 2013-09-21 00:30:31 +02:00
Oleg Pidsadnyi c7957e694a tests fixed 2013-09-20 23:29:42 +02:00
Oleg Pidsadnyi 6cd91e6e75 given validation 2013-09-20 22:48:40 +02:00
Oleg Pidsadnyi 82398e8c3f tests added 2013-09-20 00:46:29 +02:00
Anatoly Bubenkov 7ba4a26c6e pep8 fixes 2013-09-19 00:54:05 +02:00
Anatoly Bubenkov 000f8f764a step arguments in progress 2013-09-19 00:21:56 +02:00
Oleg Pidsadnyi eeb9f9afc0 attempt to implement regex params 2013-09-18 00:59:46 +02:00
Aron Curzon ad838080a1 Use named capture groups in regex step definitions to support return values from previous steps. 2013-09-14 23:57:56 -07:00
Aron Curzon 2765453ded Add support for matching steps against regex step definitions. 2013-09-14 23:52:18 -07:00
Oleg Pidsadnyi 04a278eb97 Fixed the docs and few spelling error. 2013-08-18 02:02:50 +02:00
Anatoly Bubenkov abc4ab0d47 less strict parametrization checks. preserve docstring for steps. 2013-08-17 17:57:50 +02:00
Anatoly Bubenkov 95fa10378f sanity fixes for test assertions 2013-08-12 00:52:23 +02:00
Anatoly Bubenkov 1801193062 python 3 support. additional checks for parameters 2013-08-12 00:42:09 +02:00
Anatoly Bubenkov 1f9bbc8cde cleanup unnecessary code, move to more clean implementation 2013-08-11 23:34:06 +02:00
Anatoly Bubenkov f05045c15d Scenario parametrization implemented. Coveralls integration. Coverage improvement 2013-08-10 03:32:25 +02:00
Anatoly Bubenkov dc3896cef6 Fix doc typo, rename the base dir fixture, avoid overfixturing the functions 2013-05-28 23:09:33 +02:00
Anatoly Bubenkov 106e5633db base path for feature files 2013-05-28 17:11:47 +02:00
Anatoly Bubenkov ce83eb2a1d base path for feature files 2013-05-28 16:41:45 +02:00
Oleg Podsadny b4e9b48d9d fixes fixtures usage 2013-04-15 17:44:26 +02:00