@Tanya2289

Как задать последовательность фикстур?

Если у нас две почти одинаковые фикстуры в одном и том же scope, например :

@pytest.fixture
def smtp_connection1():
import smtplib

return smtplib.SMTP("smtp.gmail.com", 587, timeout=5)

@pytest.fixture
def smtp_connection2():
import smtplib

return smtplib.SMTP("smtp.gmail.com", 587, timeout=5)

def test_ehlo(smtp_connection, smtp_connection2):
response, msg = smtp_connection.ehlo()
assert response == 250
assert 0 # в демонстрационных целях

как сделать так что бы фикстура smtp_connection2 запускалась раньше чем smtp_connection1
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
pytest-order:
@pytest.fixture
@pytest.mark.order(1)
def smtp_connection1():
    print("smtp_connection1")

@pytest.fixture
@pytest.mark.order(2)
def smtp_connection2():
    print("smtp_connection2")

def test_ehlo(smtp_connection, smtp_connection2):
    print("test_ehlo")

# smtp_connection1
# smtp_connection2
# test_ehlo

Как зависимость:
@pytest.fixture
@pytest.mark.order(1)
def smtp_connection1():
    print("smtp_connection1")

@pytest.fixture
@pytest.mark.order(2)
def smtp_connection2():
    print("smtp_connection2")

def test_ehlo(smtp_connection1, smtp_connection2):
    print("test_ehlo")

# smtp_connection1
# smtp_connection2
# test_ehlo
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы