У меня есть каталоги, которые содержат файлы, названные как: test_foo.py
Каждый файл является тестовым сценарием.
Я хотел бы
1) Запустите все тесты в каталоге из командной строки. Я использую unittest2
, так как мы запускаем Python 2.5.1. Из одного из этих каталогов я пытался ввести это в командной строке:
python -m unittest2 discover -p 'test_*.py'
и несколько различных вариантов. Я не получаю ошибки, но ничего не происходит. Я ожидал, что все тесты во всех тестовых сценариях в том каталоге выполнят и получат результаты.
2) Я также пытался иметь сценарий в каталоге, где я сделал это:
loader = unittest2.TestLoader()
t = loader.discover('.')
Если я печатаю t
переменная, я вижу свои тестовые сценарии, но из документов я не могу выяснить, что сделать с объектом загрузчика, после того как у меня есть он.
Расскажите, как вы пытаетесь использовать unittest2
из командной строки на Python <2.7
, я думаю, вы пропустили примечание на странице unittest2
PyPI :
Примечание
Использование командной строки
В Python 2.7 вы вызываете unittest функции командной строки (включая тест обнаружить) с помощью
python -m unittest
. Поскольку unittest - это пакет, а возможность вызывать пакеты сpython -m ...
является новым в Python 2.7, мы не может этого сделать для unittest2.Вместо unittest2 есть скрипт модуль 2.Использование в командной строке:
unit2 discover unit2 -v test_module
Есть также копия этого скрипта. называется
unit2.py
, полезно для Windows который использует расширения файлов, а не линии шебанга, чтобы определить, что программа для выполнения файлов с. Оба эти скрипты устанавливаются distutils.
Пробовали ли вы скрипт unit2
, который в этой заметке рекомендуется в качестве альтернативы для старых Pythons функции «запускать пакет как главный скрипт» в Python 2.7? Возможно, его источники также могут быть полезны, чтобы точно узнать, как обнаруживать и запускать тесты из вашего собственного кода, если вы предпочитаете это делать.