Skip to main content

Bazinga is a nose plugin to run tests only if their dependencies were modified

Project description

Bazinga is a nose plugin to run incremental tests.

Motivation

Running the complete test suite on large projects can take a significantly large time. This can affect your work flow, specially if you are doing TDD. Some people choose to run only a subset of the tests, specifying them explicitly on the command line, but you can easily forget to run affected tests after any particular change and things can break unnoticed. Using “bazinga” you can rest assured that all (and only) the affected tests will be run.

How it works

Inspecting what is imported by each module, “bazinga” recursively detects what are the dependencies for each test. Only tests that failed, were modified, or had a file that they depend on changed, are run. Each time nose is run with bazinga, a md5 hash for each module that your project depends on will be stored on a file named .nosebazinga on the working directory. This file also contains a dependency graph that is used as cache. Bazinga will run all the tests that are needed if a third party package is updated, but the standard library is considered “stable” and is not checked for modifications.

Installation

pip install Bazinga

Usage

nosetests --with-bazinga

Debugging

nosetests --with-bazinga --debug=bazinga

Requirements

  • Nose

  • Snakefood

LICENSE

  • MIT License

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

Bazinga-0.2.4.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file Bazinga-0.2.4.tar.gz.

File metadata

  • Download URL: Bazinga-0.2.4.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Bazinga-0.2.4.tar.gz
Algorithm Hash digest
SHA256 fcb59d4e3fc23c3c8805cf9e97b6cb5cf79e19f61da3d45443c0ef7c745dd30a
MD5 736e52ec277eabd5cb554c2ac14d75be
BLAKE2b-256 233e3a456438692d04082a1c6be508d4047d1618d18a18daa6164a81081b2903

See more details on using hashes here.

Supported by

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