импорт модуля Python (почему это работает?) - PullRequest
0 голосов
/ 03 декабря 2018

Поскольку я начинаю с языка Python, я хочу иметь возможность структурировать каталог моего проекта, чтобы работа была понятной и понятной с помощью среды тестирования поведения.Вот моя основная структура папок:

root/
  sample/
    classes/
      simple_class.py
tests/
  features/
    steps/
      simple_class_test.py

В моем скрипте simple_class_test.py я заметил, что смог закодировать это:

from sample.classes.simple_class import SimpleClass

@Given('I have a simple class')
def i_have_a_simple_class(context):
  context.simpleClass = SimpleClass()

Этот код работает, когда я использую командуbehave но, несмотря на мои исследования по импорту и модулям, я не могу сказать, как и почему работает from sample.classes.simple_class....

Не могли бы вы помочь мне разобраться?

Редактировать: Я заметилчто команда behave работает, когда я запускаю ее из корневого каталога.Если я запускаю команду из каталога root\tests, она завершается с ошибкой ModuleNotFoundError Exception, которая кажется логической.

Поэтому я могу спросить, как разрешить моим тестам находить классы, которые они будут тестировать?

...