Използвам Python 3.6.5 и тествам с py.test.
Имах следната структура на тестовата си папка.
tests/
some_folder/
test_module.py
utils.py
В test_module.py
импортирам utils.py
, за да използвам някои функции от там. В test_module.py
имам тестова функция, която работи перфектно, когато я изпълня, но когато се опитам да я отстраня в PyCharm, получавам
from tests import utils
ImportError: cannot import name 'utils'
Така че се опитах да конвертирам папката си с тестове в пакет и това реши проблема. Сега имам следната структура на моите тестове:
tests/
some_folder/
test_module.py
__init__.py
utils.py
Но защо решава проблема? И защо проблемът не възниква, когато просто стартирам теста?