Pytest抱怨固定装置,然后在几乎相同的代码上运行良好

时间:2014-03-10 22:35:30

标签: python pytest

我正在尝试学习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

1 个答案:

答案 0 :(得分:9)

不幸的是,这只是parametrize字的错误,

import pytest

@pytest.mark.parametrize("foo", [1, 2, 3, 4, 5, 6, 7, ])
def test(foo):
    assert foo % 2 == 0

效果很好。