django-runtests
===============

Eases the writing of a ``runtests.py`` script for pluggable django application.


Such scripts usually provide a ``runtests()`` method that handle the test running behaviour.


Installation
------------

- Globally::

    $ pip install django-runtests

- From the package's ``setup.py`` file (using Distribute)::

    setup(
        test_requires=[
            'django-runtests',
        ],
        test_suite='runtests.runtests',
    )


Defining the test setup
-----------------------

In your ``runtests.py`` file, add the following code::

    from django_runtests import RunTests

    def runtests():
        return RunTests.runtests()

    if __name__ == '__main__':
        RunTests.main()


Tweaking the test setup
-----------------------

If you need to tweak some parts (updating configuration, adding options, ...), you
simply have to extend the ``RunTests`` command class::

    import django_runtests

    class RunTests(django_runtests.RunTests):

        def should_test_app(self, app):
            """Test only applications listed in 'PACKAGE_APPS' setting."""
            from django.conf import settings
            return app in settings.PACKAGE_APPS

.. vim:set ft=rst:
