[英]pytest fixture with scope session running for every test
如果我錯了,請糾正我,但是如果一個夾具是用scope="session"
定義的,難道不應該在整個pytest
運行中只運行一次它?
例如:
import pytest
@pytest.fixture
def foo(scope="session"):
print('foooooo')
def test_foo(foo):
assert False
def test_bar(foo):
assert False
我有一些測試依賴於從某些API檢索的數據,而不是在每個測試中都查詢API,而是有一個夾具來一次獲取所有數據,然后每個測試使用它所需的數據。 但是,我注意到,對於每個測試,都會向API發出請求。
那是因為您在聲明燈具錯誤。 scope
應該進入pytest.fixture
裝飾器參數:
@pytest.fixture(scope="session")
def foo():
print('foooooo')
在您的代碼中,范圍保留為默認值function
,這就是為什么要為每個測試運行燈具的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.