#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 и инструментами для больших проектов в целом, ха-ха