Прибор Pytest не найден из-за отсутствия тестовых данных, настроенных с помощью TEST_DATA_DIR

#python #debugging #testing #pytest

Вопрос:

Я пытаюсь запустить тест, но я сталкиваюсь с ошибкой и немного не понимаю, как я мог бы ее исправить. Все тесты принимают каталог в качестве параметра, но так как я не задал ему параметр, я получаю эту ошибку:

   E       fixture 'shared_datadir' not found
 

Поэтому я просто собирался добавить приспособление, но потом заметил, что у бывшего разработчика в init.py из каталога тестов:

 from pathlib import Path


TEST_DATA_DIR = Path("<old path to experiment data>")
 

Итак, мой вопрос, если есть, как я мог бы изменить это в каталоге с моими тестовыми данными и запустить все тесты? Ниже приведен пример одного из тестов, если это поможет:

     @pytest.fixture(scope="function")
def paired_imgs(self, shared_datadir):

    return pio.load_tiff_as_hyperstack(
        (
            shared_datadir
            / "experiments"
            / "2017_02_22-HD233_SAY47"
            / "2017_02_22-HD233_SAY47.tif"
        ),
        manual_metadata=(
            shared_datadir
            / "experiments"
            / "2017_02_22-HD233_SAY47"
            / "2017_02_22-HD233_SAY47-frame_map.csv"
        ),
        mvmt_metadata=(
            shared_datadir
            / "experiments"
            / "2017_02_22-HD233_SAY47"
            / "2017_02_22-HD233_SAY47-mvmt.csv"
        ),
    )
 

Комментарии:

1. Ты пользуешься pytest-datadir ? Если да, возможно, этот документ может помочь pypi.org/project/pytest-datadir как это описано в разделе об использовании светильника shared_datadir .

2. Спасибо! Это мой первый большой проект, над которым я работаю, поэтому у меня не было/нет опыта работы с pytest и инструментами для больших проектов в целом, ха-ха