gpt4 book ai didi

python - 分解出 pytest fixture 的通用设置代码

转载 作者:行者123 更新时间:2023-12-04 16:45:09 25 4
gpt4 key购买 nike

我正在用 pytest 编写一些测试,我认为这是一个简单的问题,但我不确定正确的方法。我有一些这样的代码:

@pytest.fixture
def obj1():
...setup object 1...
return obj

@pytest.fixture
def obj2():
....setup object 2 ...
return obj

def test_val_obj_1(obj1):
...some common boilerplate...
output = some_function(obj1)
assert output['important_key'] == some_values

def test_val_obj_2(obj2):
...some common boilerplate...
output = some_function(obj2)
assert output['important_key'] == some_values
对于我的两个测试, ...some common boilerplate...和 some_function() 是相同的,所以我更喜欢在其他地方使用它。我只是定义一个正常的函数来做到这一点吗?或者我需要对固定装置做一些特定的事情吗?我还没有完全理解文档中的“参数化”装置,也无法弄清楚这是否是我要问的内容,或者这是否是一个不同的用例。

最佳答案

parameterized可能会帮助你,但这可能取决于样板文件中发生的事情

@pytest.mark.parametrize("obj,some_value", [(obj1, some_value), (obj2, some_value)])
def test_val_obj(obj, some_value):
...some common boilerplate...
output = some_function(obj)
assert output['important_key'] == some_value

关于python - 分解出 pytest fixture 的通用设置代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66660216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com