选择kwargs发送到函数

时间:2015-12-15 14:59:54

标签: python unit-testing python-unittest inspect

我正在为广泛的函数列表编写测试用例。它们概括如下:

def func_a(x, y, z):
    return x + y + z

def func_b(x, y):
    return x + y

def func_c(w, x, y, z):
    return w + x + y + z

如您所见,这些函数都使用相同kwarg列表的子集(w,x,y,z)。我想避免编写单独指定参数值的单元测试来传递和推广我的解决方案。有没有办法让我有选择地只将所需的kwargs子集传递给每个函数进行测试?

似乎是一个常见的问题 - 在我开始使用inspect.getargspec()之前,我想问。

注意:请在此处推荐新标题。

1 个答案:

答案 0 :(得分:0)

你可以简单地将一个iterable传递给函数。

x = [1,2,3]
assert(func_a(*x) == sum(x))