Skip to content
Advertisement

pytest.mark.parameterize not “finding” fixtures

I’m writing tests for a small library and I decided to use py.test after hearing so many good things about it.

However, pytest.mark.parameterize is giving me some issues. At first, I thought maybe I just mismatched some parens and it went off looking for a fixture elsewhere. So I decided to start with the given example of parameterize:

@pytest.mark.parametrize("input,expected", [
    ("3+5", 8),
    ("2+4", 6),
    ("6*9", 42),
])
def test_eval(input, expected):
    assert eval(input) == expected

But this gives the same error:

fixture ‘input’ not found

available fixtures: capfd, pytestconfig, recwarn, capsys, tmpdir, monkeypatch

use ‘py.test –fixtures [testpath]’ for help on them.

I went off googling, but I couldn’t find any answers that applied. Any ideas on how to approach this?

Edit: I suppose knowing which Python/py.test versions is helpful.

Python 3.4.0 and py.test 2.6.4

Advertisement

Answer

I just tried your example verbatim and it worked fine in pytest 2.6.4. Perhaps you are misspelling parametrize? You misspelled it in the title and is a common mistake, as can be seen in this issue.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement