Запуск pytest через командную строку напрямую (команда pytest
) и через интерпретатор Python (команда python -m pytest
) имеют некоторые отличия: 12
- Обработка среды. 2 При запуске через Python текущий каталог добавляется в sys.path, что позволяет импортировать оттуда модули. 14 При запуске напрямую pytest полагается на существующую среду Python, предполагая правильную настройку. 2
- Использование в виртуальных средах. 2 Обе команды работают в виртуальных средах, но запуск через Python может быть более стабильным, так как используется интерпретатор Python, связанный с виртуальной средой. 2 Это особенно важно при наличии нескольких виртуальных сред или версий Python. 2
- Применение при разных установочных версиях. 1 Запуск через Python лучше использовать, когда в локальной среде псевдоним pytest указывает на установку, отличную от ожидаемой. 1 Например, pytest установлен для Python2, а ожидается Python3. 1
При этом оба способа запуска имеют схожую основную функциональность: и тот, и другой запускают наборы тестов pytest и поддерживают систему плагинов. 2