У меня действительно возникают трудности с запуском прибора pytest в файле conftest только один раз, когда тесты выполняются параллельно через сценарий оболочки. Ниже приведено содержимое сценария оболочки:
#!/usr/bin/env bash
pytest -k 'mobile' --os iphone my_tests/ &
pytest -k 'mobile' --os ipad my_tests/
wait
Средство pytest создает ресурсы для мобильных тестов, которые будут использоваться перед запуском тестов:
@pytest.fixture(scope='session', autouse=True)
def create_resources():
// Do stuff to create the resources
yield
// Do stuff to remove the resources
При запуске каждого из них он работает в совершенстве. Создает ресурсы, запускает тесты и, наконец, удаляет созданные ресурсы. При параллельном запуске (со сценарием оболочки) оба пытаются запустить фикстуру create_resources одновременно.
Кто-нибудь знает, как я могу запустить фикстуру create_resource только один раз? Если да, то может ли второе устройство дождаться создания ресурсов, прежде чем все устройства запустят тесты?