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 не позволяет использовать несколько записей с одинаковым именем.

Вернуться на верх