Перечада аргумента из командной строки в pytest

Привет. Как понятно из темы нужно передать значение аргумента из командной строки в тесты.

Например py.test --baseurl=http://localhost:8080/api/v1

Нужно получить значение аргумента --baseurl в тестах.

Я создал в корне проекта файл conftest.py следующего содержания

def pytest_addoption(parser):
    parser.addoption("--baseurl", action="store", default="http://localhost:8080/api/v1",
                     help="Type the base URL: http://someurl.com. Default is http://localhost:8080/api/v1")

@pytest.fixture()
def get_base_url(request):
    obtained_base_url = request.config.getoption("--baseurl")
    return obtained_base_url

У меня есть базовый тестовый класс от которого наследуются все остальные тестовые классы. Как мне получить этот самый --baseurl в них

За пайтоном второй день если что :slight_smile:

В принципе нашел простое решение без использования фикстур даже.

в базовом классе просто метод

def base_url(self):
base_url = pytest.config.getoption("–baseurl")
return base_url

import pytest
import unittest


@pytest.fixture()
def get_base_url(request):
    obtained_base_url = request.config.getoption("--baseurl")
    request.cls.base_url = obtained_base_url


@pytest.mark.usefixtures("get_base_url")
class BaseClass(unittest.TestCase):
    pass


class Child1(BaseClass):
    def test_one(self):
        assert self.base_url
        print(self.base_url)
        assert False

Запуск:

py.test test_one.py -v --baseurl=http://ololo.example.com

Вывод на консоль:

    def test_one(self):
        assert self.base_url
        print(self.base_url)
>       assert False
E       AssertionError: assert False

test_one.py:14: AssertionError
---------------------------- Captured stdout call -----------------------------
http://ololo.example.com

Все работает =) Хоть и request.cls.base_url - довольно не очевидная хрень

Тогда уж с декоратором @property, если через метод базового класса, дабы было лакшери

Добрый день ,
Подскажите - создал новый проект - скопировал этот код - попробовал запустить - и выводит

py.test: error: unrecognized arguments: --baseurl=http://ololo.example.com
в чем моя ошибка?

@mrGorobec
conftest.py
зарегистрируй там аргумент

@mrGorobec В моем примере опущен pytest_addoption

Попробовал так же реализовать, не получается. В чем может быть ошибка?
Выводит: ValueError: no option named ‘-–baseurl’