В поддержку инициативы Code Recipes
Ещё один трюк с пайтестом.
В некоторых тестах я, что называется, на ходу генерю себе тестовые данные. В этом деле помогает маленькое приложение, которое имеет доступ к базе и другим необходимым ресурсам. Ранее это самое приложение запускалось в своеобразной точке входа в тесты, следом за ним вызывался pytest.main('params')
.
Проблема в том, что при использовании xdist
, в частности при параллельном запуске тестов (или даже в один поток, но с использованием плагина), трэды не видели этого самого приложения (напрямую оно никак не вызывается).
Решается всё очень просто. В conftest.py
Добавляем хук
def pytest_configure(config):
call_the_app_launch_or_whatever_you_need_on_session_start()
Выполняется последний после того, как распарсятся параметры командной строки и загрузятся плагины