我想并行而不是按顺序运行我的所有 pytest
测试。
我当前的设置如下:
class Test1(OtherClass):
@pytest.mark.parametrize("activity_name", ["activity1", "activity2"])
@pytest.mark.flaky(reruns=1)
def test_1(self, activity_name, generate_test_id):
"""
"""
test_id = generate_random_test_id()
test_name = sys._getframe().f_code.co_name
result_triggers = self.proxy(test_name, generate_test_id, test_id, activity_name)
expected_items = ["response"]
validate_response("triggers", result_triggers, expected_items)
@pytest.mark.parametrize("activity_name", ["activity1", "activity2"])
@pytest.mark.flaky(reruns=1)
def test_2(self, activity_name, generate_test_id):
"""
"""
#same idea...
我使用 pytest -v -s
运行我的测试。
结果是我的测试按顺序运行,这需要很长时间,因为其中一些等待来自远程服务器的响应(集成测试)。
有什么方法可以并行运行 pytest 吗?
最佳答案
你想要 pytest-xdist
。我认为Qxf2解释得很好:Qxf2 on Pytest-Xdist
不过,他们的 Linux 命令行对我来说有点过于冗长了;我用:
pytest -n <NUM>
其中
关于python - pytest 并行运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45733763/