Python unittest - указанный файл все еще должен быть импортируем как модуль? - PullRequest
1 голос
/ 30 октября 2019

Я читаю Python unittest Документация интерфейса командной строки . Он говорит:

Тестовые модули также могут быть указаны путем к файлу:

python -m unittest tests/test_something.py

Это позволяет вам использовать завершение имени файла оболочки для указаниятестовый модуль. Указанный файл должен быть импортирован как модуль. Путь преобразуется в имя модуля путем удаления .py и преобразования разделителей пути в .. Если вы хотите выполнить тестовый файл, который нельзя импортировать как модуль, вы должны вместо этого запустить файл напрямую.

Я знаю, что файл *.py является модулем. Так что же означает:

Указанный файл должен быть импортирован как модуль.

1 Ответ

3 голосов
/ 30 октября 2019

На самом деле есть три различных способа определения модуля в Python:

  • Модуль может быть написан на самом Python.
  • Модуль может быть написан на C и загружен динамическиво время выполнения, как модуль re (регулярное выражение).
  • Встроенный модуль встроен в интерпретатор, как и модуль collections.

Модульдоступ к содержимому осуществляется одинаково во всех трех случаях: с помощью оператора import.

Все, что вам нужно сделать, чтобы построить модуль и сделать его импортируемым, - это создать файл, содержащий легитимный код Pythonа затем присвойте файлу имя с расширением .py. Вот и все!

Никакого специального синтаксиса или вуду не требуется.

Вы можете найти больше о модулях в Официальных документах Python.

...