如何在pytest测试套件中的各个类之间使用会话范围固定的对象?

时间:2019-08-29 00:16:01

标签: python pytest python-unittest fixtures

编辑:删除unittest(python单元测试)解决了我的问题。如果您将pytest和unittest混合使用,Python unittest可能会导致您的固定装置失败。我继承了测试类层次结构中的unittest.TestCase。

我在conftest.py中拥有会话范围固定装置:

@pytest.fixture(scope="session", autouse=True)
def test_client():
    <SETUP>
    client = Client(protocol)
    return client

我想使用此夹具在多个测试类中向TCP服务器发送请求:

@pytest.mark.usefixture('test_client')
class TestCases(BaseTest):
    ...
    def test_case_m(self, test_client):
        ....
        results = test_client.query("bananas")
    ....

如何将会话范围的灯具定义为对象,然后如何在每个类中访问所述灯具?

我尝试了六种装饰器组合,并在会话范围固定装置中使用了收益/收益。不幸的是,我似乎无法使session-scope固定装置可用,无法在pytest上找到任何文档,也无法解决此问题的以前的堆栈溢出帖子。正确的模式是什么? pytest如何使对象可用?我真的很想知道在pytest中附加装饰器的目的,这对我来说似乎像是伏都教徒。

0 个答案:

没有答案