Separate test code from test cases in pytest.
BSD-3-CLAUSE License
Bot releases are visible (Hide)
Published by smarie over 5 years ago
You can now unpack a fixture iterable into several individual fixtures using unpack_fixture
or using @pytest_fixture_plus(unpack_into=<names>)
. This is also available in union_fixture(unpack_into=<names>)
. Fixed #50 and #51.
See documentation page for details.
Published by smarie over 5 years ago
Fixed issues when parametrize argnames contains a list. This fixed #49
See documentation page for details.
Published by smarie over 5 years ago
Fixed #48.
See documentation page for details.
Published by smarie over 5 years ago
Fixed #48.
See documentation page for details.
Published by smarie over 5 years ago
New commandline option '--with-reorder' to change the reordering startegy currently in application. Fixes #45.
The --with-reorder
"skip" mode was not working correctly in presence of marks, fixed it. Fixed #46.
See documentation page for details.
Published by smarie over 5 years ago
Ids should not be used when setting a NOT_USED parametrization. Fixes #43
Fixed issue with ordering and setup/teardown for higher-level scope fixtures (session and module scopes) when using union fixtures. Fixes #44
See documentation page for details.
Published by smarie over 5 years ago
New:
fixture_union
now accept a non-None
value for ids
. It also has a new idstyle
argument allowing users to change the style of ids used. Finally pytest_parametrize_plus
relies on this ids
argument to set a more readable list of ids for the created union. Fixes #41.Misc:
See documentation page for details.
Published by smarie over 5 years ago
New decorator @pytest_parametrize_plus
able to handle the case where a fixture_ref(<fixture_name>)
is present in the parameter values list. This decorator can be applied both on test functions and fixtures (if they are decorated with @pytest_fixture_plus
). Fixes #40
Major refactoring of the "union fixtures" mechanism.
NOT_USED
status is now correctly propagated between dependent fixtures. This should fix a few cases where user fixtures were setup/teardown while not used in the current test node.pytest
), and then apply parametrization intelligently based on this tree structure. This fixes several unintuitive behaviours that were happening with unions.Note: interestingly this also fixes pytest#5054.
See documentation page for details.
Published by smarie over 5 years ago
Improved the error message when the name template is wrong in @cases_generator
. Fixes #39.
See documentation page for details.
Published by smarie over 5 years ago
fixture_union
:
Changed the repr of NOT_USED
to pytest_cases.NOT_USED
.
@pytest_fixture_plus
now correctly handles the NOT_USED
when fixtures in the union do not contain any parameter. Fixes #38.
param_fixtures
:
param_fixtures
now delegates to param_fixture
when a single parameter name is provided. This is more consistent. Fixed #36.
param_fixture[s]
now support all arguments from fixture
(scope
and autouse
in particular).
See documentation page for details.
Published by smarie over 5 years ago
Fixed issue where fixtures get called with NOT_USED
as a parameter when using a fixture_union
. This issue is actually only fixed in @pytest_fixture_plus
, if you use @pytest.fixture
you have to handle it manually. Fixes #37
See documentation page for details.
Published by smarie over 5 years ago
New fixture_union
method to create a fixture that is the union/combination of other fixtures. This is an attempt to solve this pytest proposal.
Also, param_fixture
and param_fixtures
can now be used without necessarily storing the return value into a variable: they will automatically register the created fixtures in the calling module.
Finally, fixed a bug with param_fixtures
when called to create a fixture for a single parameter.
See documentation page for details.
Published by smarie over 5 years ago
Fixed param_fixtures
issue: all parameter values were identical to the last parameter of the tuple. Fixes #32.
See documentation page for details.
Published by smarie over 5 years ago
Following Sup3rGeo's proposal, introduced two helper methods to create simple "parameter fixtures". Fixes #31
See documentation page for details.
Published by smarie over 5 years ago
@pytest_fixture_plus
now correctly honors parameter id and marks overriden at single parameter level using pytest.param
. Fixed #30
See documentation page for details.
Published by smarie over 5 years ago
Fixed @pytest_fixture_plus
in case it is used with parametrize
and one parameter is itself customized using pytest.param
. Fixed #29.
See documentation page for details.
Published by smarie over 5 years ago
Major improvement of @pytest_fixture_plus
: instead of generating fixtures, it now correctly parametrizes the fixture. Skip/fail Marks are correctly copied too. Fixes #28
pytest_fixture_plus
does not accept the params
and ids
arguments any more, it only relies on parametrization marks.
See documentation page for details.
Published by smarie over 5 years ago
Fixed minor bug with parametrized @pytest_fixture_plus
: spaces are now correctly removed when multiple parameter names are provided in the same parametrize
call. Fixes #27
See documentation page for details.
Published by smarie over 5 years ago
Fixed bug with @pytest_fixture_plus
when used in parametrized mode. Fixes #26. Thanks Sup3rGeo!
See documentation page for details.
Published by smarie over 5 years ago
Now using decopatch
to create the decorators.
See documentation page for details.