Skip to content

Repository files navigation

autocheck

Run Python unittests automatically. Re-run tests when source has changed. Try to make intelligent decisions about which tests to run.

Example

In project directory with unittests:

$ autocheck discover -v

Accepts the same options as python -m unittest.

Installation

$ pip install autocheck

Optionally, for Growl support:

$ pip install gntp

Install watchdog kernel support according to https://pythonhosted.org/watchdog/installation.html.

Django support

Tell django to use our test runner, in settings:

TEST_RUNNER = 'autocheck.contrib.django.TestSuiteRunner'

Or on the command line:

./manage.py test --testrunner=autocheck.contrib.django.TestSuiteRunner

Run tests automatically whenever source has changed:

$ autocheck

autocheck tries to figure out if it runs in a django project (./manage.py exists, contains DJANGO_SETTINGS_MODULE, django is importable). Additionally, if a file test_settings.py exists, DJANGO_SETTINGS_MODULE=test_settings is added to the environment.

Behind the scenes, there are two test runners for django, selected during import of autocheck.contrib.django.TestSuiteRunner:

  • autocheck.contrib.django.discoveryrunner.TestSuiteRunner for recent versions of django (>=1.6)
  • autocheck.contrib.django.testsuiterunner.TestSuiteRunner for older versions (<1.6)

The latter is not compatible with the old ./manage.py test command, instead it tries to reproduce the interface of python -m unittest.

The other one is a thin wrapper around django's DiscoverRunner, adding a few command line switches for our custom TestRunner.

Statistics

Dump the test database with:

$ autocheck --stats

Or for flat output with:

$ autocheck --stats-flat

Tests

Build Status

Run in project directory:

$ python setup.py test

Run tests using our own test runner:

$ pip install -e .
$ pip install -r requirements/test.txt
$ python -m autocheck discover -v --once -s ./vows -t .

Tested against Python-2.6, 2.7, 3.3, 3.4, PyPy 2 and 3.

TODO

  • make autocheck.autorunner file pattern configurable
  • config file(s)
  • documentation for tags and tag expressions
  • documentation for autocheck command line flags
  • --help for autocheck command

License

This is free and unencumbered software released into the public domain.

see UNLICENSE

About

Improved unittest test runner.

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages