我正在为一个小型库编写测试,并且在听了很多关于它的好事之后我决定使用py.test.
但是,pytest.mark.parameterize给我一些问题.起初,我想也许我只是错了一些parens而且它在其他地方寻找固定装置.所以我决定从给定的参数化示例开始:
@pytest.mark.parametrize("input,expected", [
("3+5", 8),
("2+4", 6),
("6*9", 42),
])
def test_eval(input, expected):
assert eval(input) == expected
Run Code Online (Sandbox Code Playgroud)
但这会产生同样的错误:
夹具'输入'未找到
可用的灯具:capfd,pytestconfig,recwarn,capsys,tmpdir,monkeypatch
使用'py.test --fixtures [testpath]'获取有关它们的帮助.
我去谷歌搜索,但我找不到任何适用的答案.关于如何处理这个的任何想法?
编辑:我想知道哪些Python/py.test版本是有用的.
Python 3.4.0和py.test 2.6.4
小智 9
这不是相同的原因,但这是谷歌上的第一个结果“未找到pytest参数化固定装置”,这是我自然的谷歌与OP相同的错误:
未找到 E 装置“blah”
就我而言,这是由于一个愚蠢的拼写错误(我很久没有发现这个错误!),缺少装饰器中的@:
pytest.mark.parametrize("blah", [50, 100])
def test_something(blah):
assert blah > 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1176 次 |
| 最近记录: |