pytest-repeat
плагин;pip3 install pytest-repeat
pytest
из -x
Опции иpytest-repeat
объединитьиспользовать,Чтобы заставить тестировщика остановиться при первой неудаче;pytest --count=5 -x test_pytest_repeat.py
# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 28 февраля 2023 г.
# Имя файла: test_pytest_repeat.py
# эффект:плагин pytest-repeatизиспользовать
# Контактное лицо: VX (Ноама Нельсон)
# Блог: https://blog.csdn.net/NoamaNelson
import random
import time
import pytest
def test_case01():
computer = random.randint(0, 4)
time.sleep(1)
print(computer)
assert computer < 3
test_pytest_repeat.py
.0
.2
.3
F
================================================== FAILURES ==================================================
______________________________________________ test_case01[3-5] ______________________________________________
def test_case01():
computer = random.randint(0, 4)
time.sleep(1)
print(computer)
> assert computer < 3
E assert 3 < 3
test_pytest_repeat.py:18: AssertionError
========================================== short test summary info ===========================================
FAILED test_pytest_repeat.py::test_case01[3-5] - assert 3 < 3
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================== 1 failed, 2 passed in 3.13s =========================================
@pytest.mark.repeat(count)
, пометить некоторые тестовые примеры в коде как выполняемые несколько раз;# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 28 февраля 2023 г.
# Имя файла: test_pytest_repeat01.py
# эффект:плагин pytest-repeatизиспользовать
# Контактное лицо: VX (Ноама Нельсон)
# Блог: https://blog.csdn.net/NoamaNelson
import pytest
@pytest.mark.repeat(8)
def test_case():
print("Выполнение тестового примера")
if __name__ == '__main__':
pytest.main(["-s", "test_pytest_repeat01.py"])
test_pytest_repeat01.py::test_case[1-8] PASSED [ 12%] Выполнение тестового примера
test_pytest_repeat01.py::test_case[2-8] PASSED [ 25%] Выполнение тестового примера
test_pytest_repeat01.py::test_case[3-8] PASSED [ 37%] Выполнение тестового примера
test_pytest_repeat01.py::test_case[4-8] PASSED [ 50%] Выполнение тестового примера
test_pytest_repeat01.py::test_case[5-8] PASSED [ 62%] Выполнение тестового примера
test_pytest_repeat01.py::test_case[6-8] PASSED [ 75%] Выполнение тестового примера
test_pytest_repeat01.py::test_case[7-8] PASSED [ 87%] Выполнение тестового примера
test_pytest_repeat01.py::test_case[8-8] PASSED [100%]Выполнение тестового примера
============================== 8 passed in 0.04s ==============================
область применения приспособления
параметр;Объем | иллюстрировать |
---|---|
| По умолчанию каждый вариант использования выполняется повторно перед выполнением следующего варианта использования. |
| Взяв класс за единицу, несколько раз выполните варианты использования в классе, а затем выполните следующий. |
| Возьмите модуль как единое целое, несколько раз выполните варианты использования в модуле, а затем выполните следующий. |
| Повторите всю тестовую сессию, т.е. выполнение всех тестовых случаев один раз, а затем второй раз. |
# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 1 марта 2023 г.
# Имя файла: test_pytest_repeat02.py
# эффект:плагин pytest-repeatизиспользовать
# Контактное лицо: VX (Ноама Нельсон)
# Блог: https://blog.csdn.net/NoamaNelson
import pytest
class TestCase01():
def test_01(self):
print("Если у меня есть 100 миллионов,")
class TestCase02():
def test_02(self):
print("Я обязательно возьму тебя выполнить это!")
pytest -s --count=3 --repeat-scope=class test_pytest_repeat02.py
test_pytest_repeat02.py Если бы у меня было 100 миллионов,
.Если бы у меня было 100 миллионов,
.Если бы у меня было 100 миллионов,
.Я обязательно возьму тебя его выполнить!
.Я обязательно возьму тебя его выполнить!
.Я обязательно возьму тебя его выполнить!
.
=============== 6 passed in 0.16s ================
# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 1 марта 2023 г.
# Имя файла: test_pytest_repeat03.py
# эффект:плагин pytest-repeatизиспользовать
# Контактное лицо: VX (Ноама Нельсон)
# Блог: https://blog.csdn.net/NoamaNelson
import pytest
def test_01():
print("Если у меня есть 100 миллионов,")
def test_02():
print("Я обязательно возьму тебя выполнить это!")
class TestCase():
def test_03(self):
print("если у тебя есть 100 миллионов,Сначала ты можешь одолжить его мне,Я возьму тебя, чтобы выполнить его снова! ")
pytest -s --count=3 --repeat-scope=module test_pytest_repeat03.py
test_pytest_repeat03.py Если бы у меня было 100 миллионов,
.Я обязательно возьму тебя его выполнить!
.Если у тебя есть 100 миллионов, ты можешь сначала одолжить их мне, а потом я возьму тебя их выполнять!
.Если бы у меня было 100 миллионов,
.Я обязательно возьму тебя его выполнить!
.Если у тебя есть 100 миллионов, ты можешь сначала одолжить их мне, а потом я возьму тебя их выполнять!
.Если бы у меня было 100 миллионов,
.Я обязательно возьму тебя его выполнить!
.Если у тебя есть 100 миллионов, ты можешь сначала одолжить их мне, а потом я возьму тебя их выполнять!
.
================= 9 passed in 0.15s =================