Найти - Пользователи
Полная версия: pytest и rootdir
Начало » Python для экспертов » pytest и rootdir
1
Master_Sergius
Зравствуйте.
Есть много тестов, которые запускаются с помощью pytest. Некоторые из них тестируют код продукта, где выполняется команда смены директории
 os.chdir(some_dir)
, соответсвенно, это меняет текущую директорию для всех последующих тестов, и если тест ищет какой-нибудь файл по относительному пути, к примеру tests/data/testfile.txt, то он уже его не находит. Итого есть несколько вопросов по этому поводу:
каким образом наилучше решить данную проблему? создать какую-то фикстуру pytest, чтобы он всегда переходил обратно в корневую директорию? как тогда получить эту корневую директорию в той фикстуре и запомнить её?
FishHook
https://pypi.org/project/pyfakefs/
Master_Sergius
Интересная либка, взял на заметку, спасибо. Но, решил сделать вот так:

 # file tests/conftest.py
import os
import pytest
 
 
WORKING_DIR = None
 
 
@pytest.fixture
def working_dir(autouse=True, scope='function'):
    global WORKING_DIR
    if not WORKING_DIR:
        WORKING_DIR = os.getcwd()
    os.chdir(WORKING_DIR)
    return WORKING_DIR
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB