pytest-2.9.0¶
pytest - это зрелый инструмент тестирования Python, имеющий более 1100 тестов на самом себе, проходящих на многих различных интерпретаторах и платформах.
Изменения смотрите ниже, а также смотрите документацию по адресу:
Как обычно, вы можете обновиться с pypi через:
pip install -U pytest
Спасибо всем, кто внес свой вклад в создание этого релиза, среди них:
Анатолий Бубенков Бруно Оливейра Бак Големон Дэвид Вьерра Флориан Брухин Галаци Эндре Георгий Дюльдин Лукас Беднар Люк Мерфи Марцин Бьернат Мэтт Уильямс Майкл Акилина Рафаэль Пьерзина Ронни Пфанншмидт Райан Вуден Тьемо Кифт ТомВ Холгер Крекель джеб Холгер Крекель джеб
Счастливого тестирования, команда разработчиков py.test
2.9.0 (по сравнению с 2.8.7)¶
Новые возможности
Новая метка
pytest.mark.skip
, которая безоговорочно пропускает помеченные тесты. Спасибо @MichaelAquilina за полный PR (pull request #1040).--doctest-glob
теперь можно передавать несколько раз в командной строке. Спасибо @jab и @nicoddemus за PR.Новые опции отчетов
-rp
и-rP
предоставляют сводный и полный вывод пройденных тестов, соответственно. Спасибо @codewarrior0 за PR.pytest.mark.xfail
теперь имеет опциюstrict
, которая заставляетXPASS
тесты не проходить набор тестов, по умолчанию используетсяFalse
. Также есть опцияxfail_strict
ini, которую можно использовать для настройки по проекту. Спасибо @rabbbit за запрос и @nicoddemus за PR (issue #1355).Parser.addini
теперь поддерживает опции типаbool
. Спасибо @nicoddemus за PR.Новая опция doctest
ALLOW_BYTES
удаляет префиксыb
из байтовых строк в выводе doctest (аналогичноALLOW_UNICODE
). Спасибо @jaraco за запрос и @nicoddemus за PR (issue #1287).дать подсказку в KeyboardInterrupt использовать опцию –fulltrace для показа ошибок, это исправляет issue #1366. Спасибо @hpk42 за отчет и @RonnyPfannschmidt за PR.
ловить исключения IndexError при получении местоположения источника исключения. Это исправляет внутреннюю ошибку pytest для динамически сгенерированного кода (фикстуры и тесты), где исходные строки являются фальшивыми по намерению
Изменения
Важно: py.code был объединен в репозиторий
pytest
какpytest._code
. Это решение было принято потому, чтоpy.code
имел очень мало применений за пределамиpytest
и тот факт, что он находился в другом репозитории, затруднял своевременное исправление ошибок в его коде. Команда надеется, что с помощью этого изменения она сможет лучше рефакторить и улучшить этот код. Это изменение не должно повлиять на пользователей, но полезно сообщить пользователям, если они столкнутся с каким-либо странным поведением.Помните, что код для
pytest._code
является частным и экспериментальным, поэтому вы определенно не должны импортировать его явно!Обратите внимание, что оригинал
py.code
все еще доступен в pylib.pytest_enter_pdb
теперь опционально получает объект pytest config. Спасибо @nicoddemus за PR.Удален код и документация для Python 2.5 или более низких версий, включая удаление устаревшего модуля
_pytest.assertion.oldinterpret
. Спасибо @nicoddemus за PR (issue #1226).Теперь сравнения всегда отображаются полностью, если в окружении найдено
CI
илиBUILD_NUMBER
, даже если не используется -vv. Спасибо @The-Compiler за PR.--lf
и--ff
теперь поддерживают длинные имена:--last-failed
и--failed-first
соответственно. Спасибо @MichaelAquilina за PR.Добавлены ожидаемые исключения в сообщение об ошибке pytest.raises
Collection отображает прогресс («собирает X элементов») только в терминале. Это позволяет избежать загромождения вывода при использовании
--color=yes
для получения цветов в системах интеграции CI (issue #1397).
Устранение ошибок
Опции
-s
и-c
теперь должны работать подxdist
;Config.fromdictargs
теперь гораздо точнее представляет свои входные данные. Спасибо @bukzor за полный PR (issue #680).Исправление (issue #1290): поддержка оператора
@
в Python 3.5 при переписывании утверждений. Спасибо @Shinkenjoe за отчет с тестовым примером и @tomviner за PR.Исправьте форматирование utf-8 пояснительных сообщений (issue #1379). Спасибо @biern за PR.
Исправьте traceback style docs для описания всех доступных опций (auto/long/short/line/native/no), при этом
auto
будет использоваться по умолчанию с версии 2.6. Спасибо @hackebrot за PR.Исправление (issue #1422): junit record_xml_property не позволяет использовать несколько записей с одинаковым именем.