我想给run方法一个默认参数,这样如果没有给出test_cases参数,它将运行所有测试用例。你会怎么建议我这样做?
from collections import OrderedDict
class TestCase(OrderedDict):
def run(self, test_cases):
for test_case_name in test_cases:
self[test_case_name].run()
答案 0 :(得分:4)
from collections import OrderedDict
class TestCase(OrderedDict):
def run(self, test_cases=None):
if test_cases is None:
test_cases = default_all_test_cases # add all your default test cases here
for test_case in test_cases:
test_case.run()
您可以使用其他不可变对象替换默认的None
,例如字符串或整数。
答案 1 :(得分:1)
我会使用test_cases=None
,然后只说if not test_cases: test_cases=[all,values,here]
;这种情况也适用于空序列。