首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在测试前对夹具进行参数化?

如何在测试前对夹具进行参数化?
EN

Stack Overflow用户
提问于 2022-07-13 15:07:18
回答 1查看 38关注 0票数 0
代码语言:javascript
复制
from pytest import fixture

@fixture
def env():
    return {"key1": "value1", "key2": "value2"}


def do_work(env):
    print("working")


def test_0(env):
    do_work(env)


def test_1(env):
    env["key1"] = "new_value1"

    do_work(env)


def test_2(env):
    env["key2"] = "new_value3"

    do_work(env)

例如,我有test_1test_2,它们执行相同的do_work,但在调用编辑夹具之前。如何使用参数化(或其他任何方法)来避免编写两个测试?我不能就这样使用fixture parametrization,因为test_0不需要参数化。

EN

回答 1

Stack Overflow用户

发布于 2022-07-13 15:12:05

您可以使用参数化,也可以检查如何将测试夹具参数化

代码语言:javascript
复制
@pytest.mark.parametrize("key, value", (
        ("key1", "new_value1"),
        ("key2", "new_value2")
))
def test_1(env, key, value):
    env[key] = value

    do_work(env)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72968549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档