如果我有一个不断更改参数数量的函数(添加,删除,重构等),我如何在具有任意参数的测试中调用此函数?我只想测试当依赖返回True时,函数本身会引发一个异常。现在我有类似
的东西dependency.return_value = True
self.assertRaises(Expcetion, function_being_tested, None, None, None, None, None)
答案 0 :(得分:1)
虽然我不确定您的单元测试是否经过精心设计,但如果您需要此类功能,请使用此答案中提供的信息:Programmatically determining amount of parameters a function requires - Python我们可以看到我们如何获得您想要的内容。
import inspect
def call_wrapper(func):
num_args = len(inspect.getargspec(func)[0])
return func(*([None]*num_args))
然后你的单元测试成为:
self.assertRaises(Expcetion, call_wrapper, function_being_tested)