Допустим, у нас есть следующая простая файловая структура:
- some_file.py
- tests.py
Файл some_file.py должен содержать функцию foo, но как я могу подтвердить это с помощью фреймворка unittest?
Я мог видеть, как сделать что-то подобное в tests.py:
try:
from some_file import foo
except ImportError as error:
print('Error! Could not find foo.)
... но мне любопытно, есть ли способ сделать это с помощью утверждений вместо блока try-except.
Этот вопрос довольно подробно описывает тестирование импорта самих модулей, но на самом деле я ничего не вижу о функциях в файле, если только я что-то не упускаю из виду.






Вы можете использовать несколько подходов:
from some_file import foo на import some_file и добавьте утверждение assertTrue(hasattr(some_file, 'foo')). Преимущество этого заключается в том, что теперь вы явно проверяете, существует ли что-то с именем foo в some_file, а не то, что вы можете импортировать some_file.Фантастика, второй пункт списка был именно тем, что я искал в моем случае использования. Благодарю вас!
@Asa try-except является pythonic.