【问题标题】:pick and choose kwargs to send to functions挑选并选择 kwargs 发送到函数
【发布时间】:2015-12-15 14:59:54
【问题描述】:

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

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() 之前,我先问一下。

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

【问题讨论】:

  • 我不明白你在做什么,也许更具体的例子会有所帮助。为什么所有函数都命名相同?
  • 哎呀,在我的示例中这是一个错误。这些函数的名称都不同
  • 仍然不清楚你真正想要实现什么,你有那个功能的真实例子吗?

标签: python unit-testing python-unittest inspect


【解决方案1】:

您可以简单地将一个可迭代对象传递给函数。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多