У меня есть conftest.py и плагин, оба определяют одно и то же приспособление с разными реализациями:
conftest.py
import pytest
@pytest.fixture
def f():
yield 1
plugin
import pytest
@pytest.fixture
def f():
yield 2
при установке плагина conftest все еще переопределяет плагин, поэтому тестовый файл будет видеть только conftest fixture, т.е.
test_.py
def test(f):
assert f == 1 # True
Я хочу иметь возможность что-то делать вот так:
- Если плагин не установлен, продолжить
- В противном случае, из конфтестного плагина выведите значение фикстуры плагина
I удалось пройти половину пути:
conftest.py
import pytest
@pytest.fixture
def f(pytestconfig):
if pytestconfig.pluginmanager.has_plugin(plugin_name):
# now what? I have get_plugin and import_plugin, but I'm not able to get the fixture from there...