小编Sam*_*ris的帖子

从参数化测试访问夹具(例如,capsys)

我在参数化测试中访问装置(在本例中为 capsys)时遇到问题。目前我正在使用一个虚拟夹具来完成这项工作:

import pytest

@pytest.fixture
def params(request):
    from collections import namedtuple
    return namedtuple('Params', 'input output')(*request.param)

@pytest.mark.parametrize('params', [
    ('a', '1a\n'),
    ('b', '1b\n'),
], indirect=True)
def test_output(capsys, params):
    print('1' + params.input)
    out, err = capsys.readouterr()
    assert out == params.output
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有params夹具的情况下重写这段代码?

python pytest

2
推荐指数
1
解决办法
226
查看次数

标签 统计

pytest ×1

python ×1