我有一個燈具需要測試功能的變量。在函數級別上使用自省和聲明變量應該可以工作,如果它對模塊級別有效,但是每次運行代碼時我最終都會得到None而不是字符串「Fancy Table」。Pytest - 燈具功能水平
在上述固定夾具我的範圍設定爲「功能」,並且然後經由GETATTR和request.function內省:
#conftest.py
@pytest.fixture(scope='function')
def table(request):
from data_setup import create_table
table_name = getattr(request.function, "table_name", None)
create_table(request, table_name)
我聲明在測試功能的變量表名:
#test_file.py
class TestTable():
@pytest.mark.tags("table")
def test_create_table(self, test_db):
table_name = "Fancy Table"
current_page = TablePage(self.test_driver, test_db)
current_page.go_to_kitchen("Eva", "Evas Kitchen")
current_page.create_first_table(expected_table_name)
Validation.assert_equal(expected_table_name, current_page.get_name(), "Table had the wrong name!")
否則這在模塊級別上工作,因爲有類,但只要我試圖在功能級別上這樣做夾具吐出無再次。我是否在功能級別上使用夾具自檢錯誤?如果不是這樣,它是如何使用的?