[英]py.test change order of test inside the test class
使用 @pytest.mark.parametrize 夹具时,我想更改测试类中的测试执行顺序。
例如:
@pytest.mark.parametrize("param", ['test1', 'test2'])
class TestForTesting:
def test_1(self, param):
print param
def test_2(self, param):
print param
在这种情况下,py.test 将运行:带有“test1”、“test2”参数的 test_1 以及带有“test1”、“test2”参数的 test_2。
我想做的是让它按以下顺序运行:test_1 带有参数“test1”,然后 test_2 带有参数“test1”,然后 test_1 带有参数“test2”,然后 test_2 带有参数“test2”。
有没有办法做到这一点?
提前致谢。
如果您根本不使用parametrize
而是使用“旧的”方式,那么在这种情况下您会得到所需的顺序:
class BaseTest:
def test_1(self):
print self.param
def test_2(self):
print self.param
class TestX(BaseTest):
param = "A"
class TestY(BaseTest):
param = "B"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.