Skip to main content

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.

https://api.travis-ci.org/paylogic/pytest-fixture-tools.png https://pypip.in/v/pytest-fixture-tools/badge.png https://coveralls.io/repos/paylogic/pytest-fixture-tools/badge.png?branch=master

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:

alternate text

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

1.1.0

  • Added fixture-graph option.

1.0.0

  • Initial public release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest_fixture_tools-1.2.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

pytest_fixture_tools-1.2.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file pytest_fixture_tools-1.2.0.tar.gz.

File metadata

  • Download URL: pytest_fixture_tools-1.2.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for pytest_fixture_tools-1.2.0.tar.gz
Algorithm Hash digest
SHA256 b5871711e85cabec4e416c18d59c59c4ffdd39ee0b00a0d67ab5cb97e81cf79c
MD5 026895bedb8c664e7306018a3faad2dd
BLAKE2b-256 e70b5b72374d1c53bd820326291650c527c1118a00e9768599395b2209a70ac3

See more details on using hashes here.

File details

Details for the file pytest_fixture_tools-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_fixture_tools-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bf36e8ab000fc0a972fe6ba9fda5a54c2d74c9693b7594757d97caa29eb067c5
MD5 fcd4803549b915559198a0681917a6ef
BLAKE2b-256 7dc269434531f50be723ade2a858a2b40186bcdd799bead14fea3cfe1cfb989d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page