如何在pytest中使用fixture?


fixture是在pytest中會在每個與其關聯的測試方法之前執行的方法。Pytest是python中的一個測試框架。要安裝pytest,我們需要使用命令**pip install pytest**。安裝後,我們可以使用命令**pytest –version**驗證python是否已安裝。pytest的版本將顯示出來。

Pytest可用於建立和執行測試用例。它可以廣泛用於測試API、UI、資料庫等等。pytest的測試檔案有一個命名約定,即以**test**_開頭或以_**test**結尾,並且每一行程式碼都應該在一個以**test**關鍵字開頭的方法內。每個方法也應該具有唯一的名稱。

為了列印控制檯日誌,我們需要使用命令**py.test –v –s**。同樣,如果我們想執行來自特定pytest檔案的測試,命令是**py.test <filename> -v**。

fixture與負責URL宣告、處理一些輸入資料、資料庫連線等的測試方法相關聯。因此,它可以被視為每個測試方法的預處理方法。

具有fixture的方法應該具有以下語法:**@pytest.fixture**。要訪問fixture方法,測試方法必須指定fixture的名稱作為輸入引數。

同樣,要使用fixture,我們必須將**import pytest**匯入到我們的測試檔案中。

讓我們考慮一個包含測試方法的pytest檔案。

@pytest.fixture
def Login():
print("Login is successful")
def test_CalculateLease(Login):
   print("Lease calculation")
def test_CalculateLoan(Login):
   print("Loan calculation")

在上面的示例中,我們有一個fixture方法**Login()**,它作為引數傳遞給測試方法CalculateLease()和CalculateLoan()。首先,將執行Login() fixture方法,然後執行其他方法。

要執行上述測試方法,我們需要執行命令**py.test -k Calculate –v**。

fixture的一個缺點是它的作用域僅限於它所在的測試檔案,而不在其外部。

結論

除了我們在這裡討論的問題之外,請仔細回顧一下您以前針對該主題完成的任務。還要確保您能夠在面試中充滿信心地表達自己。

如果您正在申請應屆畢業生的職位,問題大多是關於基本概念的。保持冷靜,為面試做好準備。Tutorialspoint祝您一切順利,保持積極樂觀。

更新於:2020年7月29日

386 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.