我正在尝试学习pytest,而我很难理解参数化()的行为。
import pytest
@pytest.mark.parameterize("foo", [1, 2, 3, 4, 5, 6, 7, ])
def test(foo):
assert foo % 2 == 0
在此运行py.test会返回错误:'fixture'foo'not found'。
运行这个几乎相同的示例代码完全正常!有什么区别,为什么我尝试使用参数化失败?
import pytest
@pytest.mark.parametrize("blarg,argle", [("3+5", 8), ("2+4", 6), ("6*9", 42), ])
def test_eval(blarg, argle):
assert eval(blarg) == argle
答案 0 :(得分:9)
不幸的是,这只是parametrize
字的错误,
import pytest
@pytest.mark.parametrize("foo", [1, 2, 3, 4, 5, 6, 7, ])
def test(foo):
assert foo % 2 == 0
效果很好。