Как запустить код инициализации перед тестированием при использовании модуля Unittest Python в качестве тестировщика?

Как пользователь библиотеки может запустить свой собственный код инициализации (например, установить уровни отладки журналов), прежде чем запускать тесты, поставляемые с библиотекой? Модуль unittest Python используется в качестве тестировщика.

2 Solutions collect form web for “Как запустить код инициализации перед тестированием при использовании модуля Unittest Python в качестве тестировщика?”

Вы можете выполнить настройку перед вызовом unittest.main .

Или вы можете подклассифицировать набор тестов и запустить метод установки на уровне класса .

Или вы можете установить тестовую настройку с помощью обратного вызова к пользовательскому методу настройки.

Вы можете попробовать использовать pytest для запуска unittests. Если это работает (работает множество тестовых наборов на основе unittest), вы можете создать небольшой модуль, например «mymod.py», определяющий крючок конфигурации pytest:

 # content of mymod.py def pytest_configure(): import logging logging.getLogger().setLevel(logging.WARN) 

Если теперь вы выполните py.test следующим образом:

 $ py.test -p mymmod --pyargs mylib 

Затем пакет «mylib» будет искать тесты, и перед их запуском будет изменен уровень ведения журнала. Опция «-p» указывает плагин для загрузки, а «-pyargs» сообщает pytest попробовать сначала импортировать аргументы, а не рассматривать их как имя каталога или файла (по умолчанию).

Для получения дополнительной информации: http://pytest.org и http://pytest.org/latest/unittest.html

HTH, holger

Python - лучший язык программирования в мире.