2024-04-24 07:36:55 发布
网友
我试图用可用性参数维护一个用户池,以便PyTest可以从列表中选择一个可用的用户
但是我不知道应该把它放在哪里,这样即使在运行多个测试时,对象也不会被破坏
我的用户池如下所示:
class User: def getId() def getPwd() def getAvailability()
基本上,我想配置PyTest,以便在开始每个测试之前,它从池中获取可用用户并将其状态更改为False
False
任何有关配置conftest.py的帮助都会有所帮助
也许我没有正确理解你的问题,但第一个想法是这样的:
import pytest class UsersFactory: _pool = [{"user": "user1", "status": True}, {"user": "user2", "status": True}, {"user": "user3", "status": True}, {"user": "user4", "status": True}] _user = None @classmethod def get_user(cls): cls._user = cls._pool.pop(0) return cls._user @classmethod def back_user(cls): cls._user['status'] = False cls._pool.append(cls._user) cls._user = None @pytest.fixture def user(): yield UsersFactory.get_user() UsersFactory.back_user() def test_smth(user): print(user) assert user['status'] def test_smth2(user): print(user) assert user['status']
您可以将作用域设置为fixture,即您的用户将被设置为每个测试、函数、类和包
也许我没有正确理解你的问题,但第一个想法是这样的:
您可以将作用域设置为fixture,即您的用户将被设置为每个测试、函数、类和包
相关问题 更多 >
编程相关推荐