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-output-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.1

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.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_fixture_tools-1.2.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for pytest_fixture_tools-1.2.1.tar.gz
Algorithm Hash digest
SHA256 51bdf6fbb7737c8e92c29f4ff0fb2e4ab349057fa7439f48164b4ea6567a74ed
MD5 72d8b0ccf4dc90e2ae34d2bf0ce4fff6
BLAKE2b-256 ccfe8dcd58527f75701480762054d5314a31d96e75ec3353bf89a2e51d546ac4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytest_fixture_tools-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2209b91ee3694cf857b2fc768547c92b3fd168a39a58b1df793c49f8a319eb11
MD5 c736cc2c1a87681ef25f3806e61415e0
BLAKE2b-256 6ba5ee5916704535bb604486b69bf60afc5ba19707b9a9968ebf1a040afb1c6e

See more details on using hashes here.

Supported by

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