Является ли более питоническим импорт внутри тестов, а не в начале модуля? - PullRequest
0 голосов
/ 25 апреля 2018

«PyCharm знал, что при тестировании вы выполняете импорт внутри модульного теста, а не при запуске модуля» - цитата из «Начало работы с PyCharm 7/8: тестирование» видео о возможностях тестирования, предоставляемых PyCharm .

С PEP8 :

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

В этом другом вопросе SO концепция того, куда импортировать в python, уже рассматривалась как более широкая концепция. Тем не менее, нет упоминания об особом случае при модульном тестировании.

Какие преимущества мы получили бы от импорта внутренних тестов вместо запуска модуля?

Если в разных тестах используются одни и те же модули, нужно ли каждый раз импортировать модуль?

1 Ответ

0 голосов
/ 25 апреля 2018

Согласно этот вопрос было бы лучше поместить ваш import в начале вашего модуля.

Если вы поместите import в начале функции , import будет доступно только внутри этой функции, вы не сможете использовать ее вне этой function. Рассмотрим этот пример:

def func():
    import time
    time.sleep(1)

func()
time.sleep(1) # NameError: name 'time' is not defined

Также, если вы будете import вашего модуля внутри функции, он будет импортироваться каждый раз, когда вызывается функция , как уже упоминалось в этом вопросе .

Я думаю, вы должны поместить импорт внутри test, только если вы действительно хотите проверить этот импорт в конкретном случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...