如何使用fixture中的变量作为@pytest.mark.parametrize()中的参数?

问题描述 投票:0回答:1

我希望有一个简单的解决方案,但我找不到任何东西。基本上,我有 fixtures.py 文件,我在其中创建了一个返回一些变量的简单装置:

import pytest

@pytest.fixture
def fix_test():
   value = "some_value"
   return value

现在,我知道这不起作用,但只是为了让您能清楚地了解这一点:

import pytest

from fixtures import test_fixture

@pytest.mark.parametrize("first_param","second_param",[
   (test_fixture, "other_value"),
   ("other_value", test_fixture)
])
def test_fixtures(first_param, second_param)
   print(first_param, second param)

所以,我的问题仍然是,如何使用固定装置中的变量作为 @pytest.mark.parametrize() 中的参数?

我尝试了我想到的每个选项:独立运行固定装置,在其他文件中运行它们并直接在测试中导入值(我知道有点过头了)... 我最接近的是这样的:

import pytest

from fixtures import test_fixture

@pytest.mark.parametrize("test_fixture", ["test_fixture"], indirect=True)
def test_2(test_fixture):
    print(test_fixture)

但这里的问题是我不知道如何添加除了这个参数之外的另一个参数。

parameters pytest fixtures parametrize
1个回答
-1
投票

您找到解决这个问题的方法了吗?

非常感谢

© www.soinside.com 2019 - 2024. All rights reserved.