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?