我想并行运行参数化测试功能。这适用于并发测试场景。相同的测试用例与设备中的不同参数并行运行。完成一个测试函数的所有参数化变体后,我想继续下一个。
如果我们采用这个简单的例子,我想平行运行test_even的所有4个实例,然后转到test_odd。
@pytest.mark.parametrize("x", range(4))
def test_even(x):
assert x % 2 == 0
@pytest.mark.parametrize("x", range(4))
def test_odd(x):
assert x % 2 != 0
有可能在pytest中做吗?我查了xdist,但找不到这种支持。有人可以就如何在pytest中实现这一点给出一些指示吗?
答案 0 :(得分:2)
看看pytest-xdist
它会做很多很酷的事情,包括允许你并行运行你的测试。
$ pip install pytest-xdist
$ pytest -n <num cpus>