Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

A plugin that selects only tests with changes in execution path

Project description

See Build Status on Travis CI See Build Status on AppVeyor

A plugin that executes only the tests with changes in execution path

This Pytest plugin was generated with Cookiecutter along with @hackebrot’s Cookiecutter-pytest-plugin template.


  • TODO


  • TODO


You can install “pytest-skipper” via pip from PyPI:

$ pip install pytest-skipper


Capture execution trace

$ py.test –trace

This will run the full test suite and record coverage scopes (= name of executed functions) for each test. The scopes are stored in sqlite database skipper.db. The git repo may not have any uncommitted changes when execution trace is recorded.

Execute only tests with changes in execution path

$ py.test –skipper

This command compares your projects git repo state against traces in scope database and selects the execution trace with least code changes. After this the program calculates all scopes with changes and uses those to select only the tests that have changes in their execution path.

Update execution trace while running few tests

$ py.test –skipper –trace

You can use --trace and --skipper arguments at the same time to update the previous execution trace to the latest version without re-running all the tests. Execution traces are stored after each test case, so it is possible to terminate this command and continue it later.

List tests with changes

$ py.test –dry-run-skipper

Same as --skipper, but instead of running the tests, only outputs them. Useful to see what tests need to be updated after code change.

Similar projects


Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.


Distributed under the terms of the MIT license, “pytest-skipper” is free and open source software


If you encounter any problems, please file an issue along with a detailed description.

Download files

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

Files for pytest-skipper, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size pytest_skipper-0.1.3-py2.py3-none-any.whl (8.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page