New commandline option '--with-reorder' to change the reordering strategy currently in application. Fixes [45](https://github.com/smarie/python-pytest-cases/issues/45).
The `--with-reorder` "skip" mode was not working correctly in presence of marks, fixed it. Fixed [46](https://github.com/smarie/python-pytest-cases/issues/46).
1.8.1
Ids should not be used when setting a NOT_USED parametrization. Fixes [43](https://github.com/smarie/python-pytest-cases/issues/43)
Fixed issue with ordering and setup/teardown for higher-level scope fixtures (session and module scopes) when using union fixtures. Fixes [44](https://github.com/smarie/python-pytest-cases/issues/44)
1.8.0
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](https://github.com/smarie/python-pytest-cases/issues/41).
Misc:
- Added non-regression test for fixture order. It passes already for all recent pytest versions (after 3.3). Fixes [42](https://github.com/smarie/python-pytest-cases/issues/42)
1.7.0
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](https://github.com/smarie/python-pytest-cases/issues/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 [pytest5054](https://github.com/pytest-dev/pytest/issues/5054).
1.6.3
Improved the error message when the name template is wrong in `cases_generator`. Fixes [39](https://github.com/smarie/python-pytest-cases/issues/39).
1.6.2
`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](https://github.com/smarie/python-pytest-cases/issues/38).
`param_fixtures`:
* `param_fixtures` now delegates to `param_fixture` when a single parameter name is provided. This is more consistent. Fixed [36](https://github.com/smarie/python-pytest-cases/issues/36).
* `param_fixture[s]` now support all arguments from `fixture` (`scope` and `autouse` in particular).