Импортировать файл из родительского каталога при использовании PyTest?

1

Я использую PyTest, но он, похоже, не может запускать мои операторы импорта.

Мои структуры каталогов:

-[app]
   -script1.py
-[tests]
   -test1.py

Мой файл test1.py включает эту строку:

from script1 import my_func

и я получаю ошибку, такую как ModuleNotFoundError: No module named script1 когда я запускаю pytest из командной строки.

Я попытался добавить этот оператор в каталог cd выше, но он не работал:

import os
os.chdir('..')
  • 0
    это помогает? stackoverflow.com/q/26804421/5986907
  • 0
    PYTHONPATH=app/ pytest tests/test1.py должны работать или (если используется Python 3) добавить пустой файл conftest.py в корень проекта (вместе с app dirs и tests ) и изменить импорт на from app.script1 import my_func ; app затем обрабатывается как неявный пакет пространства имен.
Теги:
pytest

1 ответ

0

Как вы указали. Модуль script1.py находится в [приложении]. Так что это должно быть

from app.script1 import my_func

или если вы хотите импортировать все функции из script.py

import app.script1 

и просто вызовите любую функцию

script1.anyfunction()
  • 0
    Извините, чтобы уточнить - [приложение] это папка, а не файл
  • 0
    Попробуйте это: stackoverflow.com/questions/4383571/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню