pytest fixture-自動(dòng)適配fixture

2022-08-03 17:21 更新

有時(shí),您可能希望擁有一個(gè)(甚至幾個(gè))??fixture??,您知道所有的測(cè)試都將依賴于它。??autouse fixture??是使所有測(cè)試自動(dòng)請(qǐng)求它們的一種方便的方法。這可以減少大量的冗余請(qǐng)求,甚至可以提供更高級(jí)的??fixture??使用。

我們可以將??autouse =True??傳遞給??fixture??的裝飾器,從而使一個(gè)??fixture??成為??autouse fixture??。下面是一個(gè)如何使用它們的簡(jiǎn)單例子:

# contents of test_append.py
import pytest


@pytest.fixture
def first_entry():
    return "a"


@pytest.fixture
def order(first_entry):
    return []


@pytest.fixture(autouse=True)
def append_first(order, first_entry):
    return order.append(first_entry)


def test_string_only(order, first_entry):
    assert order == [first_entry]


def test_string_and_int(order, first_entry):
    order.append(2)
    assert order == [first_entry, 2]

在本例中,??append_first fixture??是一個(gè)自動(dòng)使用的??fixture??。因?yàn)樗亲詣?dòng)發(fā)生的,所以兩個(gè)測(cè)試都受到它的影響,即使沒有一個(gè)測(cè)試請(qǐng)求它。但這并不意味著他們不能提出要求,只是說沒有必要。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)