具有类范围的pytest-xdist间接装置

时间:2018-08-08 22:36:44

标签: pytest xdist

我有一些复杂且繁重的逻辑来构建测试对象,并且测试运行时间很长。它们是集成测试,我想尝试对其进行并行化。所以我找到了pytest-xdist库。

由于构建测试对象的繁琐性质,我在测试时而不是在收集时在夹具上使用pytests间接功能来构建它们。我正在测试的一些代码可以在下面找到。

#run.py
import pytest

@pytest.mark.parametrize("attribute",(
    ["pid1", ["pod1", "pod2", "pod3"]],
    ["pid2", ["pod2", "pod4", "pod5"]]
), indirect=True)
class TestSampleWithScenarios(object):
    @pytest.fixture(scope="class")
    def attribute(request):
        # checkout the pod here
        # build the device object and yield
        device = {}
        yield device
        # teardown the device object
        # release pod


    def test_demo1(self, attribute):
        assert isinstance(attribute, str)

    def test_demo2(self, attribute):
        assert isinstance(attribute, str)

我的运行命令当前为pytest run.py -n 4 --dist=loadscope

当我不使用loadscope时,所有测试都发送给他们自己的工作人员。我不希望这样,因为我只希望构建一次设备对象并将其用于所有相关测试。

当我使用loadscope时,所有测试都是针对gw0执行的,并且我没有任何并行性。

我想知道是否有任何调整遗漏,或者此功能当前未实现。

0 个答案:

没有答案