Мы все знаем, что в рамках модульного тестирования есть UnitTest и Pytest. Первый из них поставляется с Python и не требует установки. Сегодня мы говорим о Pytest. Конечно, если вы занимаетесь автоматизацией. рекомендуется освоить оба. Можно гибко использовать для реального бизнеса.
Без лишних слов, давайте начнем!
pip insatll pytest
Если вы хотите решить проблему полной установки, вы можете использовать Doubanyuan:
pip install -i https://pypi.douban.com/simple pytest
Проверьте успешность установки и установленную версию:
pytest --version
Когда мы используем чужие фреймворки, нам приходится соблюдать чужие правила, поэтому в pytest тоже есть соответствующие правила:
1: Файлы вариантов использования: все файлы, имена которых начинаются с test_ или _test, будут распознаваться как файлы вариантов использования.
2: Класс тестового сценария. Каждый класс, начинающийся с Test в тестовом файле, является классом тестового сценария. и не может иметь метод инициализации
3. Тестовые случаи. Каждый метод, начинающийся с test в тестовом классе, является тестовым примером, и каждая функция, начинающаяся с test в тестовом файле, также является тестовым примером.
С точки зрения непрофессионала, будь то имя файла, имя класса или имя функции, оно должно называться test.
Если вы не понимаете, нет проблем, просто приходите и попрактикуйтесь.
# функцияформа
def test_demo(): # Запросите имя функции, чтобы test начало
"""тестфункция"""
print('Я pytest в форме функции, я могу быть вариантом использования')
Давайте запустим:
Вариант использования прошел успешно
Так как же нам его запустить?
Вы можете запустить его, щелкнув правой кнопкой мыши или запустив его в правом верхнем углу. Если результат — ошибка, проверьте, какой тест по умолчанию выбран в pycham.
Просто выберите соответствующий pytest. Я обнаружил здесь pytest автоматически, поэтому настраивать его не нужно.
Как еще это можно реализовать?
Выполнить как командную строку:
Перейдите непосредственно к текущему проекту и введите pytest, чтобы автоматически выполнить его.
Здесь нам нужно добавить еще кое-что:
Добавление -v или -s после pytest имеет разные значения.
Давайте возьмем один пример:
Помимо написания в форме функции, есть еще запись в форме класса. Ниже мы пишем варианты использования в форме класса.
# форма класса теста
class TestDemo(object): # Класс нормального определения, Но имя тестового класса должно заканчиваться на Test начало
"""тест Пример класса"""
def test_01(self): # Метод нормального определения, Но название метода должно быть тестовым.
print('Я метод1' в тестовом классе")
def test_02(self):
print('Я — метод 2' в категории тестов")
Это соответствует нашему второму правилу: тестовый класс начинается с Test.
Конечно, когда мы запустим его снова, мы обнаружим, что оба варианта использования были выполнены успешно. Теперь мы выполняем их сами. Разве у pytest нет набора методов запуска? Конечно, в pytest есть метод main, который также может выполнять файлы кода.
if __name__ == '__main__':
pytest.main(['-s', 'test01.py'])
Давайте кратко проанализируем это. Это основной вход в функцию. Вызывается основной метод pytest. Параметры метода помещаются в список.
Просто заполните остальные необходимые нам параметры.
На этом мы закончили говорить об основах использования. После прочтения, давайте подведем итоги установки среды pytest, основных правил pytest, использования функций и классов pytest, а также метода запуска. основной функции в этой статье.
Также имеются предварительная обработка, постобработка, файлы конфигурации, параметризация (управляемая данными), утверждения, механизмы повтора и отчеты плагинов. Не спешите и не торопитесь.