我正在pytest中进行测试。 这是我的代码
def pytest_addoption(parser):
parser.addoption('--uid')
@pytest.fixture
def login_id(request,pytestconfig):
user_id = pytestconfig.getoption('--uid')
return user_id
它的作用是在pytest中使用cli参数
@pytest.fixture
def func():
login(login_id)
return session()
当我在需要创建会话的模块上执行测试时,login_id给我的数据为
<函数login_id位于0x00000000092F79D8>
我无法获取此数据,如何获取cli参数中传递的值。
我正在使用pycharm,python3.5。
cli参数为--uid username
我没有使用login
功能获得用户名,而是获得了数据位置。
感谢和问候
答案 0 :(得分:0)
如果要在另一个灯具中使用一个灯具的值,只需将其作为参数传递:
@pytest.fixture
def login_id(request):
...
return ...
@pytest.fixture
def func(login_id):
login(login_id)
return session()
除了建议之外:您不需要pytestconfig
固定装置,因为您已经在使用request
。您可以通过request.config
固定装置中的login_id
获取配置:
@pytest.fixture
def login_id(request):
user_id = request.config.getoption('--uid')
return user_id