0

函数原型:

def sample_test(self, param1, param2, optional_param1=False, optional_param2=False, 
            optional_param3={}):
    if optional_param2:
       print("In param2")
    if optional_param3:
       print("In param3")

现在,如果我将该方法称为 sample_test(param1, param2, False, {"key": "val"}) 在 param2 中被打印。optional_param2被分配了 dict 并且测试被错误地执行,因为optional_param2被认为是True. 我想为此编写 utest 以便事先捕获这些错误。我想为该方法编写 utest 以便捕获这些类型的错误并有效地执行函数。

4

1 回答 1

0

您可以直接分配输入,例如

def function(v1=0,v2=1):
    return (v1,v2)
print(function(v2=7))
>>(0,7)

将其插入您的代码可能如下所示:

sample_test(param1, param2, False, optional_param3={"key":"val"})

其中 optional_param2 将默认为 False 而 optional_param3 接收正确的字典。

于 2021-08-09T16:19:21.530 回答