在pytest测试项目中,用例需要传两个参数(A, B),参数A是数组a,参数B是数组a的元素查询数据库后的返回值(元组), 是根据数组a的每一个元素, 查询数据库后的返回值

在pytest测试项目中,用例需要传两个参数(A, B),参数A是数组a,参数B是数组a的元素查询数据库后的返回值(元组),也就是说,参数B是不固定的, 是根据数组a的每一个元素, 查询数据库后的返回值,有什么实现的方式吗? 类似于将参数B参数化

id_list = [2, 3, 6, 5, 4, 8]


class TestMy02:
    @pytest.mark.parametrize("A", id_list)
    @pytest.mark.parametrize("B", get_case(id_list[0]))
    def test_new_01(self, A, B):
        print(A)
        print(B)

尝试过将参数B 用fixture的方式, 用过pytest_generate_tests钩子函数,用过pytest.lazy_fixture 插件, 都以失败告终
其中pytest.lazy_fixture 最接近目标, 但是pytest.lazy_fixture返回的是一个表达式对象, 不能用于查询数据库


id_list = [2, 3, 6, 5, 4, 8]


class TestMy02:
    @pytest.mark.parametrize("A", id_list)
    @pytest.mark.parametrize("B", get_case(pytest.lazy_fixture('operation')))
    def test_new_01(self, A, B):
        print(A)
        print(B)

注: operation是fixture函数
有什么可行的方法吗? 求指点

没听懂你想表达什么
B到底是你传入的参数,还是只传入一个空列表,然后函数将它填充数据
说清楚目的,而不要说不成熟的方案