Ответ 1
Просто удалите расширение .py
.
Вы запускаете свои тесты, используя флаг командной строки -m
. Документация Python расскажет вам больше об этом, просто ознакомьтесь с этой ссылкой .
Словом, параметр -m
позволяет запустить модуль, в вашем случае - модуль unittest
. Этот модуль ожидает получить путь к модулю или путь к классу, следуя формату Python для пути к модулю (используя точки). Например, если вы хотите запустить класс FirstTest в модуле mytests в папке mypackage, вы должны использовать следующую командную строку:
python -m unittest mypackage.mytests.FirstTest
Предположим, что вы используете предыдущую командную строку из родительской папки mypackage. Это позволяет вам точно выбирать тесты, которые вы хотите запустить (даже внутри модуля).
Когда вы добавляете расширение .py
, unittest
ищет объект py
(например, модуль или класс) внутри последнего элемента пути модуля, который вы указали, но этот объект не существует. Это именно то, что говорит ваша ошибка терминала:
AttributeError: ’module’ object has no attribute ’py’