jeudi 10 novembre 2016

Django custom test runner remove some of the default test argument

I write a custom test runner in Django to add custom argument '--headless', but the side effect is i can not use some of the default argument. I am using Django 1.9.11. My test runner code is:

from django.test.runner import DiscoverRunner
class IbesTestRunner(DiscoverRunner): @classmethod
def add_arguments(cls, parser): parser.add_argument( '--headless', action='store_true', default=False, dest='headless', help='This is custom optional arguments for IBES.' 'Use this option to do browser testing without GUI')

The result of ./manage.py test -h when using this test runner is:

usage: manage.py test [-h] [--version] [-v {0,1,2,3}] [--settings SETTINGS]
                  [--pythonpath PYTHONPATH] [--traceback] [--no-color]
                  [--noinput] [--failfast] [--testrunner TESTRUNNER]
                  [--liveserver LIVESERVER] [--headless]
                  [test_label [test_label ...]]
. . .

While using the default test runner, the result of ./manage.py test -h is:

usage: manage.py test [-h] [--version] [-v {0,1,2,3}] [--settings SETTINGS]
                  [--pythonpath PYTHONPATH] [--traceback] [--no-color]
                  [--noinput] [--failfast] [--testrunner TESTRUNNER]
                  [--liveserver LIVESERVER] [-t TOP_LEVEL] [-p PATTERN]
                  [-k] [-r] [-d] [--parallel [N]]
                  [test_label [test_label ...]]
...

Notice that i can not use some arguments like, -k, -p ,-r, etc. How can I add custom test arguments but not losing the default test argument?

Aucun commentaire:

Enregistrer un commentaire