我有一个夹具,可以创建在许多测试中使用的对象.
该对象具有属性-优先级(1-10)
现在,有很多测试需要“知道”对象的优先级(以便测试各种逻辑路径)
所以我可以有10种不同的灯具:
@pytest.fixture
def object_priority_1():
return MyObj(priority=1)
@pytest.fixture
def object_priority_2():
return MyObj(priority=2)
//....
@pytest.fixture
def object_priority_10():
return MyObj(priority=10)
但这似乎不对……我敢肯定每次都有一种方法可以将外部参数传递给灯具-我只是找不到
编辑:
需要澄清的是-我想要以下方面的东西:
@pytest.fixture
def my_object(<priority as an external param>):
return MyObj(priority)
然后测试将是这样的:
def test_foo(my_object(1), my_object(6)):
//...
解决方法:
你可以做 :
@pytest.fixture
def my_object(priority):
return MyObj(priority)
def test_foo(my_object):
obj_1 = my_object(1)
assert something # 1
obj_2 = my_object(2)
assert something # 2
我想到了这个主意,然后找到了这个问与答:
py.test: Pass a parameter to a fixture function
我认为如果您的问题解决了,您的问题可能会考虑重复.
原文地址:https://codeday.me/bug/20191119/2038995.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。