Если вы импортируете все модули, протестированные вверху файла, а не в функции unittest, тогда ошибка импорта будет препятствовать выполнению любых ваших тестов.У меня есть два мнения по этому поводу.Зависит от того, как вы проводите свои юнит-тесты.
Если вы запускаете тесты из командной строки или из Hudson или Jenkins, то вы заметите ошибку импорта и исправите ее немедленно.В этом случае я не думаю, что это проблема импортировать все на уровне модуля.Это, безусловно, более удобно и требует меньше дублирования.
Если есть вероятность, что ошибка импорта вызовет тихий сбой (скажем, если ваша инфраструктура unittest не может даже сказать вам, что произошла ошибка, если она не может импортировать ваштестовый модуль), тогда может быть безопаснее импортировать модули в ваши тестовые функции.