小编cuh*_*hor的帖子

如何在多个测试函数之间共享参数化参数?

我在同一个文件中有许多测试函数,它们共享一组通用的参数化参数,如下面的代码片段所示。当测试函数的数量增加 (>100) 时,为每个测试函数重复这些参数似乎效率不高,而且容易出错。pytest 中是否有任何方法可以定义一组常见的参数化参数并在所有测试中共享它?Fixture 用于注入公共数据依赖。我想知道是否有任何类似的工具可以注入通用参数

import pytest

@pytest.mark.parametrize('common_arg1', [0, 1])
@pytest.mark.parametrize('common_arg2', [2, 3])
@pytest.mark.parametrize('a', [0, 1])
def test_1(common_arg1, common_arg2, a):
    pass
    
@pytest.mark.parametrize('common_arg1', [0, 1])  # repetition
@pytest.mark.parametrize('common_arg2', [2, 3])  # repetition
@pytest.mark.parametrize('b', [0, 1])
def test_2(common_arg1, common_arg2, b):
    pass
    
...

@pytest.mark.parametrize('common_arg1', [0, 1])  # more repetition!
@pytest.mark.parametrize('common_arg2', [2, 3])  # more repetition!
@pytest.mark.parametrize('x', [0, 1])
def test_100(common_arg1, common_arg2, x):
    pass  
Run Code Online (Sandbox Code Playgroud)

pytest

8
推荐指数
3
解决办法
5867
查看次数

标签 统计

pytest ×1