django/tests/test_runner/runner.py

30 lines
862 B
Python

from django.test.runner import DiscoverRunner
class CustomOptionsTestRunner(DiscoverRunner):
def __init__(
self,
verbosity=1,
interactive=True,
failfast=True,
option_a=None,
option_b=None,
option_c=None,
**kwargs,
):
super().__init__(
verbosity=verbosity, interactive=interactive, failfast=failfast
)
self.option_a = option_a
self.option_b = option_b
self.option_c = option_c
@classmethod
def add_arguments(cls, parser):
parser.add_argument("--option_a", "-a", default="1")
parser.add_argument("--option_b", "-b", default="2")
parser.add_argument("--option_c", "-c", default="3")
def run_tests(self, test_labels, **kwargs):
print("%s:%s:%s" % (self.option_a, self.option_b, self.option_c))