http://habrahabr.ru/company/yandex/blog/242795/
Процитирую кое что:
"В своё время была возможность поэкспериментировать, и выбор пал на перспективный фреймворк PyTest. Тогда он ещё не был таким популярным, и его мало кто использовал. Нам понравилась концепция использования фикстур и написание тестов в виде обычного Python-модуля без использования API. В итоге PyTest выстрелил, и теперь мы имеем очень гибкое решение с множеством фич, например:
"Маркировка
С помощью маркировки можно пометить тест как вызывающий ошибку, пропустить тест, либо добавить user-defined метку. Всё это метаданные для группировки, либо пометки необходимых тестов, кейсов или параметров. В случае группировки мы используем эту возможность для указания severity к тестам и классам, так как есть более и менее важные тесты.
В pytest тесты и параметры тестов можно помечать с помощью специального декоратора
"У pytest есть хороший генератор JUnit отчетов, который очень просто интегрируется вJenkins-CI. Мы пользовались им, пока не появился замечательный фреймворк Allure, для формирования более красивых отчетов с дополнительными возможностями.
Список статусов запуска теста в pytest:
Процитирую кое что:
"В своё время была возможность поэкспериментировать, и выбор пал на перспективный фреймворк PyTest. Тогда он ещё не был таким популярным, и его мало кто использовал. Нам понравилась концепция использования фикстур и написание тестов в виде обычного Python-модуля без использования API. В итоге PyTest выстрелил, и теперь мы имеем очень гибкое решение с множеством фич, например:
- фикстуры в виде аргументов тестовых функций, которые позволяют отделить вспомогательную функциональность от самого теста;
- встроенный assert, который отображает ошибку в удобном виде;
- pytest.mark.parametrize для запуска тестов на разных наборах данных без дублирования кода;
- возможность ставить метки на тесты, чтобы помечать падающие тесты или выделять долгоиграющие и запускать их отдельно;
- поддержка JUnit отчетов с помощью аргумента --junit-xml, кроме этого способность генерировать отчеты в другом формате.
"Маркировка
С помощью маркировки можно пометить тест как вызывающий ошибку, пропустить тест, либо добавить user-defined метку. Всё это метаданные для группировки, либо пометки необходимых тестов, кейсов или параметров. В случае группировки мы используем эту возможность для указания severity к тестам и классам, так как есть более и менее важные тесты.
В pytest тесты и параметры тестов можно помечать с помощью специального декоратора
@pytest.mark.MARK_NAME
. Например, каждый тестпак может идти по несколько минут, а то и более. Поэтому хотелось бы прогнать сначала критичные тесты и потом уже остальные""У pytest есть хороший генератор JUnit отчетов, который очень просто интегрируется вJenkins-CI. Мы пользовались им, пока не появился замечательный фреймворк Allure, для формирования более красивых отчетов с дополнительными возможностями.
Список статусов запуска теста в pytest:
- PASSED — зелененький, успех, тест пройден;
- FAILED — красненький, тест упал, ошибку вызвала конструкция
assert
; - ERROR — ошибка в тесте, произошла ошибка в фикстуре либо в синтаксисе и др., обычно не связано с конкретным тест кейсом;
- SKIPPED — игнор, тест помечен каким либо образов
depends
илиpytest.mark.skip[if]
и он не запускается; - xfail — тест помечен и ожидаемое падение произошло,
assert
сработал как и ожидалось; - XPASS — тест, помеченный как
xfail
не упал. Плохо это или хорошо, нужно проверять тестировщику, и либо убирать метку, либо чинить параметры.
Комментариев нет:
Отправить комментарий