Я хочу параметризовать свои тесты с помощью файлов конфигурации, что означает, что я не могу использовать синтаксис:
@pytest.fixture(
params=[
None,
'172.16.xxx.xxx',
'172.16.xxx.xx',
'172.16.xxx.xxx',
'172.16.xxx.xx'
],
ids=[
'Local',
'Windows10',
'Centos7.6',
'Ubuntu18.04',
'Mojave'
],
scope='module'
)
def endpoint(request) -> str:
yield request.param
Так что мне нужно что-то вроде этого:
@pytest.fixture(scope='module')
def endpoint(request) -> str:
hosts = get_hosts_for_module(request.fspath, request.session.startdir)
...
for host in hosts:
host.setup_for_test()
yield host.ip
host.teardown_for_test()
Это работает каждый тест len(hosts)
раз, каждый раз с другим значением endpoint
. Приведенный выше синтаксис, похоже, не работает, и он запускает тесты только для первого хоста в hosts
.
Есть идеи, какой здесь правильный синтаксис?