小编jas*_*ine的帖子

传递给pytest fixture的params可以作为变量传入吗?

我有两个简单的测试设置,我试图将它们组合在一个夹具中,并希望测试功能将'params'传递给夹具.

这是一个人为的例子,用来解释我的问题.说我有以下pytest夹具:

@pytest.fixture(scope="module", params=['param1','param2'])
def myFixture(request):
    if request.param == 'param1':
        p = 5
    elif request.param == 'param2':
        p = 10
    return p

# would like to set request.param = ['param1'] for myFixture
def test_madeup(myFixture):
    assert myFixture == 5

# would like to set request.param = ['param2'] for myFixture
def test_madeup2(myFixture):
    assert myFixture == 10
Run Code Online (Sandbox Code Playgroud)

我可以这样做,以便上面的参数作为test_madeup函数的输入传入?所以,如下所示:

@pytest.fixture(scope="module", params=fixtureParams)
def myFixture(request):
    if request.param == 'param1':
        return 5
    elif request.param == 'param2':
        return 10


def test_madeup(myFixture, ['param1']):
    assert myFixture == 5 …
Run Code Online (Sandbox Code Playgroud)

python pytest

10
推荐指数
1
解决办法
8321
查看次数

标签 统计

pytest ×1

python ×1