Я использую pytest как общий тестовый бегун для больших автоматических тестов интеграции с различными продуктами API на работе, и я пытаюсь найти одинаково общий пример функции разрыва, которая работает при завершении любого теста, независимо от успеха или неудачи.Базовая остановка pytest, которая выполняется при завершении теста
Мой типичный образец использования супер линейная и обычно идет что-то вроде этого:
def test_1():
<logic>
assert something
def test_2():
<logic>
assert something
def test_3():
<logic>
assert something
Иногда, когда это имеет смысл делать это, в верхней части моего сценария я швыряю в настройки прибора с autouse аргумент установлен в «True», который работает на запуск каждого сценария:
@pytest.fixture(scope="session", autouse=True)
def setup_something():
testhelper = TestHelper
testhelper.create_something(host="somehost", channel="somechannel")
def test_1():
<logic>
assert something
def test_2():
<logic>
assert something
def test_3():
<logic>
assert something
до недавнего времени, одноразовые среды Докер позволили мне уйти с пропуская весь процесс разборки, но я в немного где один из них недоступен прямо сейчас. В идеале, не отвлекая от того же линейного рисунка я уже использую, как бы я реализовать еще pytest арматуре, что делает что-то вроде:
@pytest.fixture
def teardown():
testhelper = TestHelper
testhelper.delete_something(thing=something)
когда завершается прогон?