Значение выхода в пределах крепежа в pytest - PullRequest
1 голос
/ 27 февраля 2020

Я прочитал документацию на docs.pytest.org
Я не уверен в значении этого утверждения: yield smtp_connection

Может кто-нибудь объяснить, что yield делает, и если это обязательно?

1 Ответ

2 голосов
/ 27 февраля 2020

Прежде всего это не обязательно !!! Если вы хотите выполнить тестовое тело, например, вы можете настроить тест с предварительным и последующим условиями. Для этого мы можем использовать conftest.py:

import pytest


@pytest.fixture
def set_up_pre_and_post_conditions():
    print("Pre condition")
    yield # this will be executed our test
    print("Post condition")

Наш тест, например, сохранить в test.py:

def test(set_up_pre_and_post_conditions):
    print("Body of test")

Итак, давайте запустим его: pytest test.py - Вывод v -s:

test.py::test Pre condition
Body of test
PASSEDPost condition

Это не полная функциональность yield, просто пример, надеюсь, это будет полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...