py.test.exe это тул призванный упростить запуск тестов. Оговорюсь сразу что в мою задачу не входит перевод документации, поэтому ознакомится с полным набором команд можно, выполнив в командной строке следующую комманду (да и он может различаться в зависимости от того какие установлены плагины) и пройти по сслылкам в конце поста.
>>> py.test -h
-v - увеличивает детализацию о выполнении теста
--capture - параметр для управлением захвата вывода stdout/stderr. Принимает одно из значений fd|sys|no. Более подробно в ссылках
-s - маска для --capture=no. Параметр удобен, если нужно убрать мусор (например, дебажные принты) из информации о выполнившихся тестах.
--tb - отвечает за детализацию вывода трейса. Одно из long/short/line/native/no
--maxfail=<fail count> - задает максимальное число фейлов, тест удобен при дебаге или если заранее известно что результат тестов будет один и тотже
-x - маска дял --maxfaile=1
--pdb - стартует питоновский дебагер для отладки ошибок. Удобен для отладки тестов (подробнее в одном из следующих постов о дебаге тестов)
import py.test
@py.test.mark.parametrize('num', [i for i in range(5)])
def test_func(num):
print('\ntest_func()')
assert num % 2
def test_fail():
print('bla, bla, fail')
assert False
Выполняем в консоли
>>>py.test use_tool.py -k "test_func" -v -s -x --tb=line
============================= test session starts =============================
platform win32 -- Python 2.7.5 -- py-1.4.20 -- pytest-2.5.2 -- C:\Python27\python.exe
plugins: teamcity-messages
collected 6 items
use_tool.py:37: test_func[0]
test_func()
FAILED
================================== FAILURES ===================================
use_tool.py:40: assert (0 % 2)
!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!
===================== 1 tests deselected by '-ktest_func' =====================
=================== 1 failed, 1 deselected in 0.04 seconds ====================
[2] http://pytest.org/latest/customize.html?highlight=maxfail
[3] http://pytest.org/latest/usage.html
>>> py.test -h
Команды формирования вывода
-q - уменьшает детализацию информации о выполнении теста-v - увеличивает детализацию о выполнении теста
--capture - параметр для управлением захвата вывода stdout/stderr. Принимает одно из значений fd|sys|no. Более подробно в ссылках
-s - маска для --capture=no. Параметр удобен, если нужно убрать мусор (например, дебажные принты) из информации о выполнившихся тестах.
--tb - отвечает за детализацию вывода трейса. Одно из long/short/line/native/no
Команды запуска
-k <test name> - выполнить лишь заданный тест--maxfail=<fail count> - задает максимальное число фейлов, тест удобен при дебаге или если заранее известно что результат тестов будет один и тотже
-x - маска дял --maxfaile=1
--pdb - стартует питоновский дебагер для отладки ошибок. Удобен для отладки тестов (подробнее в одном из следующих постов о дебаге тестов)
Комманды для настройки
--color (yes|no|auto) - цветной вывод в консоли или нетСовсем небольшой пример
# use_tool.pyimport py.test
@py.test.mark.parametrize('num', [i for i in range(5)])
def test_func(num):
print('\ntest_func()')
assert num % 2
def test_fail():
print('bla, bla, fail')
assert False
Выполняем в консоли
>>>py.test use_tool.py -k "test_func" -v -s -x --tb=line
============================= test session starts =============================
platform win32 -- Python 2.7.5 -- py-1.4.20 -- pytest-2.5.2 -- C:\Python27\python.exe
plugins: teamcity-messages
collected 6 items
use_tool.py:37: test_func[0]
test_func()
FAILED
================================== FAILURES ===================================
use_tool.py:40: assert (0 % 2)
!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!
===================== 1 tests deselected by '-ktest_func' =====================
=================== 1 failed, 1 deselected in 0.04 seconds ====================
Ссылки
[1] http://pytest.org/latest/capture.html[2] http://pytest.org/latest/customize.html?highlight=maxfail
[3] http://pytest.org/latest/usage.html
Комментариев нет:
Отправить комментарий