如何更改pytest类中参数化堆叠的顺序?

问题描述

我有一个测试类,其中包含一个参数化类和其中的一些测试,每个测试类都有自己的参数化方法。我希望该类使用一个类参数运行其中的所有测试,并且只有在所有测试完成后,才使用第二个参数再次运行测试。例如:代码是这样的:

@pytest.mark.parametrize("param_a",[1,2])
class Testtest():

    @pytest.mark.parametrize("param_b",[3,4])
    def test_1(self,param):
        pass

    @pytest.mark.parametrize("param_b",4])
    def test_2(self,param):
        pass

现在它使用这样的参数:

test_tmp.py::TestTest::test_1[1][3]
test_tmp.py::TestTest::test_1[1][4]
test_tmp.py::TestTest::test_1[2][3]
test_tmp.py::TestTest::test_1[2][4]

test_tmp.py::TestTest::test_2[1][3]
test_tmp.py::TestTest::test_2[1][4]
test_tmp.py::TestTest::test_2[2][3]
test_tmp.py::TestTest::test_2[2][4]

我希望它使用这样的参数:

test_tmp.py::TestTest::test_1[1][3]
test_tmp.py::TestTest::test_1[1][4]
test_tmp.py::TestTest::test_2[1][3]
test_tmp.py::TestTest::test_2[1][4]

test_tmp.py::TestTest::test_1[2][3]
test_tmp.py::TestTest::test_1[2][4]
test_tmp.py::TestTest::test_2[2][3]
test_tmp.py::TestTest::test_2[2][4]

有什么办法可以实现吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)