Skip to main content

Pytest plugin that allows the user to select the tests affected by a range of git commits

Project description

pytest-git-diff

Test Workflow Status PyPI Version

Pytest plugin that allows the user to select the tests affected by a given range of git commits. A file is considered affected when:

  • It was added/modified in between the commits.
  • It imports another affected file.

Installation

pip install pytest-git-diff

Usage

This plugin adds 2 options to the pytest CLI:

  • --only-affected-by: filters the collected tests, keeping only those affected by the given commit range. This range should be in the format FROM_REV..TO_REV. If TO_REV is omitted, it defaults to 'HEAD'.
  • --only-affected-last-commit: has the same effect as --only-affected-by=HEAD~1..HEAD.

Limitations

The main limitation in this plugin is that file paths must be valid Python identifier names (in particular, they can't contain dashes). That applies to every part of the path up to the working directory in which pytest was invoked.

This issue stems from a problem in the pydeps dependency. See https://github.com/thebjorn/pydeps/issues/24.

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_git_diff-1.0.1.tar.gz (5.2 kB view hashes)

Uploaded Source

Built Distribution

pytest_git_diff-1.0.1-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

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