Spec-Zone.ru › pytest

Конвейеры CI

Обоснование

Цель тестирования в конвейере CI отличается от цели локального тестирования. Действительно, вы можете быстро изменить код и снова запустить тесты на своём компьютере, но в конвейерах CI это невозможно. Они выполняются на отдельном сервере и запускаются определёнными действиями.

Исходя из этого, pytest может определить, что он работает в среде CI, и адаптировать некоторые варианты своего поведения.

Как определяется среда CI

Pytest определяет, что работает в среде CI, если одна из следующих переменных среды задана непустым значением:

  • CI: используется многими системами CI.
  • BUILD_NUMBER: используется Jenkins.

Влияние среды CI

Пока влияние работы в среде CI на pytest ограничено.

Если обнаружена среда CI, вывод краткой сводки тестов больше не обрезается по размеру терминала, то есть сообщение отображается целиком.

# content of test_ci.py
import pytest


def test_db_initialized():
    pytest.fail(
        "deliberately failing for demo purpose, Lorem ipsum dolor sit amet, "
        "consectetur adipiscing elit. Cras facilisis, massa in suscipit "
        "dignissim, mauris lacus molestie nisi, quis varius metus nulla ut ipsum."
    )

При локальном запуске без дополнительных параметров будет выведено:

$ pytest test_ci.py
...
========================= short test summary info ==========================
FAILED test_ci.py::test_db_initialized - Failed: deliberately f...

(Обратите внимание на обрезанный текст)

При запуске в CI будет выведено:

$ export CI=true
$ pytest test_ci.py
...
========================= short test summary info ==========================
FAILED test_ci.py::test_db_initialized - Failed: deliberately failing
for demo purpose, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras
facilisis, massa in suscipit dignissim, mauris lacus molestie nisi, quis varius
metus nulla ut ipsum.

© 2015–2026 Holger Krekel and pytest-dev team
Licensed under the MIT License.
https://docs.pytest.org/en/stable/explanation/ci.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API