Plugin for pytest which provides tools for fixtures
Project description
pytest-fixture-tools: Pytest fixture tools plugin
The pytest-fixture-tools package is a pytest plugin which provides various tools for fixture.
Installation
pip install pytest-fixture-tools
Usage
show-fixture-duplicates
If you have already installed pytest-fixture-tools plugin then you can use one of its commands.
--show-fixture-duplicates - will collect all fixtures and print you a list of duplicates for each fixture.
With --show-fixture-duplicates you can use --fixture name_of_fixture option to get list of duplicates only for specific fixture
py.test tests/ --show-fixture-duplicates --fixture order
Output can look like this:
========================================== test session starts ==========================================
platform linux2 -- Python 2.7.3 -- pytest-2.5.1 -- /home/batman/.virtualenvs/arkham-city/bin/python
Tests are shuffled using seed number 355495648184.
cachedir: /home/batman/.virtualenvs/arkham-city/.cache
plugins: fixture-tools, random, bdd-splinter, pep8, cov, contextfixture, bdd, xdist, instafail, cache
collected 2347 items / 1 skipped
------------------------------------------------- order -------------------------------------------------
tests/fixtures/order.py:30
tests/unit/api/conftest.py:261
fixture-graph
You can generate the usage fixture graph like that:
# on windows gitbash as example
export PATH=$PATH:/c/Program\ Files\ \(x86\)/Graphviz2.38/bin/
pytest --fixture-graph -s
# or you can select the output direcotry like that:
pytest --fixture-graph --fixture-graph-output-dir=./test_output
# you can also change the output type of the graphs (any of graphvis supported outputs types):
pytest --fixture-graph --fixture-graph-type=jpg
The output would be like that:
============================= test session starts =============================
platform win32 -- Python 2.7.10, pytest-3.3.1, py-1.5.2, pluggy-0.6.0
rootdir: C:\Users\ifruchte\Projects\pytest-fixture-tools, inifile: tox.ini
plugins: pep8-1.0.6, cov-2.5.1, fixture-tools-1.0.0
collected 7 items
pytest_fixture_tools\__init__.py . [ 14%]
pytest_fixture_tools\plugin.py . [ 28%]
tests\__init__.py . [ 42%]
tests\conftest.py . [ 57%]
tests\test_fixture_duplicates.py .
-------------------------------- fixture-graph --------------------------------
created artifacts/fixture-graph-tests-test_fixture_duplicates.py__test_there_are_fixture_duplicates.png.
============================= test session starts =============================
platform win32 -- Python 2.7.10, pytest-3.3.1, py-1.5.2, pluggy-0.6.0
rootdir: c:\users\ifruchte\appdata\local\temp\pytest-of-ifruchte\pytest-445\test_there_are_not_fixture_duplicates0, inifile:
plugins: pep8-1.0.6, cov-2.5.1, fixture-tools-1.0.0
collected 2 items
======================== no tests ran in 0.06 seconds =========================
.s [100%]
===================== 6 passed, 1 skipped in 0.29 seconds =====================
Final output, that can help with tests that depend on large amount of fixtures:
Contact
If you have questions, bug reports, suggestions, etc. please create an issue on the GitHub project page.
License
This software is licensed under the MIT license
See License
© 2013 Paylogic International.
Changelog
1.2.0
Fix –fixture-graph-output-dir and –fixture-graph-output-type by @youtux in https://github.com/pytest-dev/pytest-fixture-tools/pull/5
Python and pytest compatibility fixes by @ogajduse in https://github.com/pytest-dev/pytest-fixture-tools/pull/7
Drop support for EOL Python versions
1.1.0
Added fixture-graph option.
1.0.0
Initial public release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pytest_fixture_tools-1.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5871711e85cabec4e416c18d59c59c4ffdd39ee0b00a0d67ab5cb97e81cf79c |
|
MD5 | 026895bedb8c664e7306018a3faad2dd |
|
BLAKE2b-256 | e70b5b72374d1c53bd820326291650c527c1118a00e9768599395b2209a70ac3 |
Hashes for pytest_fixture_tools-1.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf36e8ab000fc0a972fe6ba9fda5a54c2d74c9693b7594757d97caa29eb067c5 |
|
MD5 | fcd4803549b915559198a0681917a6ef |
|
BLAKE2b-256 | 7dc269434531f50be723ade2a858a2b40186bcdd799bead14fea3cfe1cfb989d |