我坐下来好好学习py.测试今天又发现网站上的文档都掉了(pytest.org网站)因此,如果这个问题的答案在那里找到,我会道歉。在
我要做的是将两个fixture的输出传递给一个参数,如下所示:
import pytest
@pytest.fixture()
def make_1():
return 1
@pytest.fixture()
def make_2():
return 2
@pytest.mark.parametrize('arg', [make_1, make_2])
def test_main(arg):
assert isinstance(arg, int)
但是测试失败了,因为没有将fixture的输出赋给参数“arg”,而是传递了fixture(函数)本身。在
如何用这种方式参数化各种装置的输出?在
这[丑陋的/大规模的黑客攻击]会起作用吗?我很感激它远不是理想的——我不知道是否有一种方法可以创建一个惰性计算的fixture,让你做你想做的事情。在
一个可能更好的选择是参数化fixture本身(如果可能的话)-参考docs:https://pytest.org/latest/fixture.html#parametrizing-a-fixture
^{pr2}$如果您不同的“制造”固定装置非常不同,您可以有类似于:
相关问题 更多 >
编程相关推荐