Python unittest и исследование

У меня есть каталоги, которые содержат файлы, названные как: test_foo.py

Каждый файл является тестовым сценарием.

Я хотел бы

1) Запустите все тесты в каталоге из командной строки. Я использую unittest2, так как мы запускаем Python 2.5.1. Из одного из этих каталогов я пытался ввести это в командной строке:

python -m unittest2 discover -p 'test_*.py'

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

2) Я также пытался иметь сценарий в каталоге, где я сделал это:

loader = unittest2.TestLoader()
t = loader.discover('.')

Если я печатаю t переменная, я вижу свои тестовые сценарии, но из документов я не могу выяснить, что сделать с объектом загрузчика, после того как у меня есть он.

36
задан Sean Francis N. Ballais 12 February 2016 в 13:20
поделиться

1 ответ

Расскажите, как вы пытаетесь использовать 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? Возможно, его источники также могут быть полезны, чтобы точно узнать, как обнаруживать и запускать тесты из вашего собственного кода, если вы предпочитаете это делать.

24
ответ дан 27 November 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: