Skip to content

Releases: smarie/python-pytest-cases

1.7.0 - New `@pytest_parametrize_plus` allowing fixture references to be used in parameter values

13 Jun 17:00
Compare
Choose a tag to compare

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.

  • The 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.
  • Empty fixture unions are not permitted anymore.
  • The way unions are handled in test parametrization was redesigned. The new design is based on a two-steps approach: first build the fixture closure for each node as a tree (and not a list as in 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.

1.6.3 - Minor exception enhancement

28 May 17:41
Compare
Choose a tag to compare

Improved the error message when the name template is wrong in @cases_generator. Fixes #39.

See documentation page for details.

1.6.2 - bug fixes

05 Apr 19:43
Compare
Choose a tag to compare

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.

1.6.1 - `@pytest_fixture_plus` improvement to handle `NOT_USED` cases

03 Apr 17:21
Compare
Choose a tag to compare

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.

1.6.0 - `fixture_union` and `param_fixture[s]` bugfix

03 Apr 16:01
Compare
Choose a tag to compare

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.

1.5.1 - `param_fixtures` bugfix

26 Mar 12:20
Compare
Choose a tag to compare

Fixed param_fixtures issue: all parameter values were identical to the last parameter of the tuple. Fixes #32.

See documentation page for details.

1.5.0 - new helpers `param_fixture` and `param_fixtures`

25 Mar 11:01
Compare
Choose a tag to compare

Following Sup3rGeo's proposal, introduced two helper methods to create simple "parameter fixtures". Fixes #31

See documentation page for details.

1.4.2 - parametrized `@pytest_fixture_plus` minor bug fix

25 Mar 09:40
Compare
Choose a tag to compare

@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.

1.4.1 - parametrized `@pytest_fixture_plus` minor bug fix

22 Mar 13:22
Compare
Choose a tag to compare

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.

1.4.0 - `@pytest_fixture_plus` major improvement

20 Mar 13:15
Compare
Choose a tag to compare
  • 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.